summaryrefslogtreecommitdiffstats
path: root/lib/lz4hc.c
diff options
context:
space:
mode:
authorYann Collet <cyan@fb.com>2020-11-08 03:38:07 (GMT)
committerYann Collet <cyan@fb.com>2020-11-08 03:42:57 (GMT)
commite251a840253c5564364bf5c8c662a6fe623dc3e9 (patch)
tree4c1cf21414f1feff4f309a2e9fad74fe8b0dff28 /lib/lz4hc.c
parentb16b9fcdbc110876c9cd82ac1c3392abc0c2e1b3 (diff)
downloadlz4-e251a840253c5564364bf5c8c662a6fe623dc3e9.zip
lz4-e251a840253c5564364bf5c8c662a6fe623dc3e9.tar.gz
lz4-e251a840253c5564364bf5c8c662a6fe623dc3e9.tar.bz2
fix minor UBs
- check alignment before casting a pointer - saveDict : don't memmove() on NULL dst
Diffstat (limited to 'lib/lz4hc.c')
-rw-r--r--lib/lz4hc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/lz4hc.c b/lib/lz4hc.c
index a74144a..8875f1a 100644
--- a/lib/lz4hc.c
+++ b/lib/lz4hc.c
@@ -1003,7 +1003,6 @@ int LZ4_freeStreamHC (LZ4_streamHC_t* LZ4_streamHCPtr)
LZ4_streamHC_t* LZ4_initStreamHC (void* buffer, size_t size)
{
LZ4_streamHC_t* const LZ4_streamHCPtr = (LZ4_streamHC_t*)buffer;
- LZ4HC_CCtx_internal* const hcstate = &(LZ4_streamHCPtr->internal_donotuse);
/* if compilation fails here, LZ4_STREAMHCSIZE must be increased */
LZ4_STATIC_ASSERT(sizeof(LZ4HC_CCtx_internal) <= LZ4_STREAMHCSIZE);
DEBUGLOG(4, "LZ4_initStreamHC(%p, %u)", buffer, (unsigned)size);
@@ -1012,7 +1011,8 @@ LZ4_streamHC_t* LZ4_initStreamHC (void* buffer, size_t size)
if (size < sizeof(LZ4_streamHC_t)) return NULL;
if (!LZ4_isAligned(buffer, LZ4_streamHC_t_alignment())) return NULL;
/* init */
- MEM_INIT(hcstate, 0, sizeof(*hcstate));
+ { LZ4HC_CCtx_internal* const hcstate = &(LZ4_streamHCPtr->internal_donotuse);
+ MEM_INIT(hcstate, 0, sizeof(*hcstate)); }
LZ4_setCompressionLevel(LZ4_streamHCPtr, LZ4HC_CLEVEL_DEFAULT);
return LZ4_streamHCPtr;
}