summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorYann Collet <yann.collet.73@gmail.com>2020-10-01 05:51:17 (GMT)
committerYann Collet <yann.collet.73@gmail.com>2020-10-01 05:51:17 (GMT)
commit1e31f1d25cda257b11d62e8700ed650dca1bbe54 (patch)
treede36bb4037f20bab3f1b665c24674a86d56a48e8 /lib
parentfe74eb2031b9463e14ef8d0f17d4219bdbfe2b76 (diff)
downloadlz4-1e31f1d25cda257b11d62e8700ed650dca1bbe54.zip
lz4-1e31f1d25cda257b11d62e8700ed650dca1bbe54.tar.gz
lz4-1e31f1d25cda257b11d62e8700ed650dca1bbe54.tar.bz2
fix bad init scenario
Diffstat (limited to 'lib')
-rw-r--r--lib/lz4hc.c8
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;
}