diff options
author | Yann Collet <yann.collet.73@gmail.com> | 2020-10-01 05:51:17 (GMT) |
---|---|---|
committer | Yann Collet <yann.collet.73@gmail.com> | 2020-10-01 05:51:17 (GMT) |
commit | 1e31f1d25cda257b11d62e8700ed650dca1bbe54 (patch) | |
tree | de36bb4037f20bab3f1b665c24674a86d56a48e8 | |
parent | fe74eb2031b9463e14ef8d0f17d4219bdbfe2b76 (diff) | |
download | lz4-1e31f1d25cda257b11d62e8700ed650dca1bbe54.zip lz4-1e31f1d25cda257b11d62e8700ed650dca1bbe54.tar.gz lz4-1e31f1d25cda257b11d62e8700ed650dca1bbe54.tar.bz2 |
fix bad init scenario
-rw-r--r-- | lib/lz4hc.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/lz4hc.c b/lib/lz4hc.c index 28b91f7..cd802d8 100644 --- a/lib/lz4hc.c +++ b/lib/lz4hc.c @@ -981,9 +981,11 @@ int LZ4_compress_HC_destSize(void* state, const char* source, char* dest, int* s /* allocation */ LZ4_streamHC_t* LZ4_createStreamHC(void) { - LZ4_streamHC_t* state = (LZ4_streamHC_t*)ALLOC(sizeof(LZ4_streamHC_t)); - if (state==NULL) return NULL; - state = LZ4_initStreamHC(state, sizeof(*state)); /* full initialization, malloc'ed buffer can be full of garbage */ + LZ4_streamHC_t* const state = (LZ4_streamHC_t*)ALLOC(sizeof(LZ4_streamHC_t)); + if (LZ4_initStreamHC(state, sizeof(*state)) == NULL) { + free(state); + return NULL; + } return state; } |