Skip to content

Commit 8f2c02a

Browse files
committed
igzip: fix memory leak in test
Signed-off-by: Pablo de Lara <[email protected]>
1 parent f0320e1 commit 8f2c02a

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

igzip/igzip_perf.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -626,8 +626,10 @@ zlib_inflate_perf(uint8_t *inbuf, uint64_t inbuf_size, uint8_t *outbuf, uint64_t
626626
return 1;
627627

628628
check = zlib_inflate_round(&gstream, inbuf, inbuf_size, outbuf, outbuf_size);
629-
if (check || gstream.total_out != file_size || memcmp(outbuf, filebuf, file_size))
629+
if (check || gstream.total_out != file_size || memcmp(outbuf, filebuf, file_size)) {
630+
inflateEnd(&gstream);
630631
return 1;
632+
}
631633

632634
BENCHMARK(start, time,
633635
zlib_inflate_round(&gstream, inbuf, inbuf_size, outbuf, outbuf_size));

igzip/igzip_rand_test.c

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1436,8 +1436,11 @@ compress_ver_rep_buf(uint8_t *data, uint32_t data_size, uint64_t data_rep_size,
14361436

14371437
ret = isal_deflate(&stream);
14381438

1439-
if (ret)
1439+
if (ret) {
1440+
if (level_buf != NULL)
1441+
free(level_buf);
14401442
return COMPRESS_GENERAL_ERROR;
1443+
}
14411444
}
14421445

14431446
/* Verify the compressed buffer */
@@ -1458,8 +1461,11 @@ compress_ver_rep_buf(uint8_t *data, uint32_t data_size, uint64_t data_rep_size,
14581461
avail_out_start = state.avail_out;
14591462

14601463
ret = isal_inflate(&state);
1461-
if (ret)
1464+
if (ret) {
1465+
if (level_buf != NULL)
1466+
free(level_buf);
14621467
return inflate_ret_to_code(ret);
1468+
}
14631469

14641470
/* Check data accuracy */
14651471
index = data_verified % data_size;
@@ -1471,8 +1477,11 @@ compress_ver_rep_buf(uint8_t *data, uint32_t data_size, uint64_t data_rep_size,
14711477
ret |= memcmp(decomp_buf + data_size - index, data, cmp_size);
14721478
out_size -= cmp_size;
14731479
ret |= memcmp(decomp_buf, decomp_buf + data_size, out_size);
1474-
if (ret)
1480+
if (ret) {
1481+
if (level_buf != NULL)
1482+
free(level_buf);
14751483
return RESULT_ERROR;
1484+
}
14761485

14771486
data_verified += avail_out_start - state.avail_out;
14781487
}

0 commit comments

Comments
 (0)