avoid computing 0 offsets from null pointers
Similar work in the kernel: https://patchwork.kernel.org/patch/11351499/ UBsan (+clang-10) complains about doing pointer arithmetic (adding 0) to a nullpointer. This patch is tested with clang-10+ubsan
This commit is contained in:
parent
49b3ad4bd4
commit
e68c7d3878
@ -819,7 +819,7 @@ LZ4_FORCE_INLINE int LZ4_compress_generic(
|
||||
|
||||
int const maybe_extMem = (dictDirective == usingExtDict) || (dictDirective == usingDictCtx);
|
||||
U32 const prefixIdxLimit = startIndex - dictSize; /* used when dictDirective == dictSmall */
|
||||
const BYTE* const dictEnd = dictionary + dictSize;
|
||||
const BYTE* const dictEnd = dictionary ? dictionary + dictSize : dictionary;
|
||||
const BYTE* anchor = (const BYTE*) source;
|
||||
const BYTE* const iend = ip + inputSize;
|
||||
const BYTE* const mflimitPlusOne = iend - MFLIMIT + 1;
|
||||
@ -827,7 +827,7 @@ LZ4_FORCE_INLINE int LZ4_compress_generic(
|
||||
|
||||
/* the dictCtx currentOffset is indexed on the start of the dictionary,
|
||||
* while a dictionary in the current context precedes the currentOffset */
|
||||
const BYTE* dictBase = (dictDirective == usingDictCtx) ?
|
||||
const BYTE* dictBase = !dictionary ? NULL : (dictDirective == usingDictCtx) ?
|
||||
dictionary + dictSize - dictCtx->currentOffset :
|
||||
dictionary + dictSize - startIndex;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user