diff options
author | Yann Collet <Cyan4973@users.noreply.github.com> | 2021-01-19 10:54:18 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-19 10:54:18 (GMT) |
commit | a8e888774a5fd2563e6e085e7274465175696476 (patch) | |
tree | 5b08b28853280e716671522c5dd0a2c89d34cc8b | |
parent | cbd186eaceded6be98ef8d22048904874cdae608 (diff) | |
parent | 06b07e175e397bca54c808780251fe0d7a56deae (diff) | |
download | lz4-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…
-rw-r--r-- | lib/lz4hc.c | 6 |
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; } |