:: commit a8ef9f28ebd39b705713ea9f63ea0ed958033c78

Kamila Szewczyk <kspalaiologos@gmail.com> — 2022-05-07 18:52

parents: 519ffa774b

fix a memleak

diff --git a/src/libbz3.c b/src/libbz3.c
index 8394a7e..ef00a53 100644
--- a/src/libbz3.c
+++ b/src/libbz3.c
@@ -78,6 +78,15 @@ PUBLIC_API struct bz3_state * bz3_new(s32 block_size) {
     bz3_state->lzp_lut = calloc(1 << LZP_DICTIONARY, sizeof(s32));
 
     if (!bz3_state->cm_state || !bz3_state->swap_buffer || !bz3_state->sais_array || !bz3_state->lzp_lut) {
+        if(bz3_state->cm_state)
+            free(bz3_state->cm_state);
+        if(bz3_state->swap_buffer)
+            free(bz3_state->swap_buffer);
+        if(bz3_state->sais_array)
+            free(bz3_state->sais_array);
+        if(bz3_state->lzp_lut)
+            free(bz3_state->lzp_lut);
+
         return NULL;
     }
 
tab: 248 wrap: offon