From c44c7e7590db1b89c97e106f5c516bf69189e233 Mon Sep 17 00:00:00 2001 From: Jia Tan Date: Wed, 28 Jun 2023 20:46:31 +0800 Subject: [PATCH] Tests: Fix memory leaks in test_index. Several tests were missing calls to lzma_index_end() to clean up the lzma_index structs. The memory leaks were discovered by using -fsanitize=address with GCC. --- tests/test_index.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/test_index.c b/tests/test_index.c index f63d2a79..e01919ee 100644 --- a/tests/test_index.c +++ b/tests/test_index.c @@ -648,6 +648,8 @@ test_lzma_index_iter_init(void) assert_false(lzma_index_iter_next(&iter, LZMA_INDEX_ITER_STREAM)); assert_false(lzma_index_iter_next(&iter, LZMA_INDEX_ITER_STREAM)); assert_uint_eq(iter.stream.number, 3); + + lzma_index_end(first, NULL); } @@ -1157,6 +1159,9 @@ test_lzma_index_cat(void) assert_lzma_ret(lzma_index_cat(dest, src, NULL), LZMA_DATA_ERROR); // Check for compressed size overflow + lzma_index_end(src, NULL); + lzma_index_end(dest, NULL); + dest = lzma_index_init(NULL); assert_true(dest != NULL); @@ -1297,6 +1302,7 @@ test_lzma_index_dup(void) assert_true(copy != NULL); assert_true(index_is_equal(idx, copy)); + lzma_index_end(copy, NULL); lzma_index_end(idx, NULL); } @@ -1428,6 +1434,7 @@ test_lzma_index_encoder(void) verify_index_buffer(idx, buffer, buffer_size); + lzma_index_end(idx, NULL); lzma_end(&strm); #endif } @@ -1589,6 +1596,8 @@ test_lzma_index_buffer_encode(void) // Validate results verify_index_buffer(idx, buffer, buffer_size); + + lzma_index_end(idx, NULL); #endif } @@ -1639,6 +1648,8 @@ test_lzma_index_buffer_decode(void) assert_true(index_is_equal(decode_test_index, idx)); + lzma_index_end(idx, NULL); + // Test too small memlimit in_pos = 0; memlimit = 1;