summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorYann Collet <Cyan4973@users.noreply.github.com>2021-01-19 10:54:18 (GMT)
committerGitHub <noreply@github.com>2021-01-19 10:54:18 (GMT)
commita8e888774a5fd2563e6e085e7274465175696476 (patch)
tree5b08b28853280e716671522c5dd0a2c89d34cc8b /lib
parentcbd186eaceded6be98ef8d22048904874cdae608 (diff)
parent06b07e175e397bca54c808780251fe0d7a56deae (diff)
downloadlz4-a8e888774a5fd2563e6e085e7274465175696476.zip
lz4-a8e888774a5fd2563e6e085e7274465175696476.tar.gz
lz4-a8e888774a5fd2563e6e085e7274465175696476.tar.bz2
Merge pull request #964 from sigiesec/fix-ubsan-resetStreamHC_fast
Don't trigger UBSan warning in LZ4_resetStreamHC_fast if LZ4_streamHC…
Diffstat (limited to 'lib')
-rw-r--r--lib/lz4hc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/lz4hc.c b/lib/lz4hc.c
index feee612..e2e4f00 100644
--- a/lib/lz4hc.c
+++ b/lib/lz4hc.c
@@ -1031,7 +1031,11 @@ void LZ4_resetStreamHC_fast (LZ4_streamHC_t* LZ4_streamHCPtr, int compressionLev
LZ4_initStreamHC(LZ4_streamHCPtr, sizeof(*LZ4_streamHCPtr));
} else {
/* preserve end - base : can trigger clearTable's threshold */
- LZ4_streamHCPtr->internal_donotuse.end -= (uptrval)LZ4_streamHCPtr->internal_donotuse.base;
+ if (LZ4_streamHCPtr->internal_donotuse.end != NULL) {
+ LZ4_streamHCPtr->internal_donotuse.end -= (uptrval)LZ4_streamHCPtr->internal_donotuse.base;
+ } else {
+ assert(LZ4_streamHCPtr->internal_donotuse.base == NULL);
+ }
LZ4_streamHCPtr->internal_donotuse.base = NULL;
LZ4_streamHCPtr->internal_donotuse.dictCtx = NULL;
}