]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Fix memory leaks in test suites 2971/head
authorTobias Stoeckmann <tobias@stoeckmann.org>
Mon, 20 Apr 2026 17:09:05 +0000 (19:09 +0200)
committerTobias Stoeckmann <tobias@stoeckmann.org>
Mon, 20 Apr 2026 18:12:18 +0000 (20:12 +0200)
Release memory so ASAN becomes a viable option for test suites.

cpio/test/test_extract_cpio_absolute_paths.c
libarchive/test/test_archive_string.c
libarchive/test/test_read_format_7zip.c
libarchive/test/test_write_disk_secure_noabsolutepaths.c
libarchive/test/test_write_format_mtree_preset_digests.c
libarchive/test/test_write_format_zip_windows_path.c
tar/test/test_option_P_upper.c

index 51650bc00f5aec3dd7495ebc4a6dd6615d1db579..e3a72f9ccaf3e8b1762702dbf86187a494286945 100644 (file)
@@ -50,4 +50,5 @@ DEFINE_TEST(test_extract_cpio_absolute_paths)
        r = systemf("%s -i --insecure < archive.cpio 2> stderr3.txt", testprog);
        assert(r == 0);
        assertFileExists(temp_absolute_file_name);
+       free(temp_absolute_file_name);
 }
index bf822c0d5e82fb6c3dea98090adb014cd6e8e027..c9c5c195a9a79f96918d3d9e7fc9fa6bd68e08a8 100644 (file)
@@ -388,6 +388,7 @@ test_archive_string_dirname(void)
                archive_string_dirname(&s);
                assertEqualString(pair->exp, s.s);
        }
+       archive_string_free(&s);
 }
 
 DEFINE_TEST(test_archive_string)
index 6d71f80d12ed43805289adc560c8cf1f6950652e..a34531440b051e5729e04f5bcec3f9ec0cb38c65 100644 (file)
@@ -1503,6 +1503,7 @@ DEFINE_TEST(test_read_format_7zip_lzma2_riscv)
        } else {
                test_riscv_filter("test_read_format_7zip_lzma2_riscv.7z");
        }
+       archive_read_free(a);
 #else
        skipping("This version of liblzma does not support LZMA_FILTER_RISCV");
 #endif
index b66b6bea4423d4e45cd06929249b075f9c677d15..2356868947656bcf777096a1ab5e6dd2854e53ac 100644 (file)
@@ -85,4 +85,5 @@ DEFINE_TEST(test_write_disk_secure_noabsolutepaths)
 
        assertEqualInt(ARCHIVE_OK, archive_write_free(ad));
        assertEqualInt(ARCHIVE_OK, archive_read_free(a));
+       free(temp_absolute_file_name);
 }
index bb8ddf49431b5106062464caccb2fca583ddf9c2..11e9d5150eaeb5a3c9705c7fba9c9fd8495af934 100644 (file)
@@ -102,7 +102,6 @@ DEFINE_TEST(test_write_format_mtree_digests_no_digests_set_no_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -131,7 +130,7 @@ DEFINE_TEST(test_write_format_mtree_digests_no_digests_set_no_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 }
 
 DEFINE_TEST(test_write_format_mtree_digests_no_digests_set_empty_data)
@@ -193,7 +192,6 @@ DEFINE_TEST(test_write_format_mtree_digests_no_digests_set_empty_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -222,7 +220,7 @@ DEFINE_TEST(test_write_format_mtree_digests_no_digests_set_empty_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 }
 
 DEFINE_TEST(test_write_format_mtree_digests_no_digests_set_non_empty_data)
@@ -285,7 +283,6 @@ DEFINE_TEST(test_write_format_mtree_digests_no_digests_set_non_empty_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -314,7 +311,7 @@ DEFINE_TEST(test_write_format_mtree_digests_no_digests_set_non_empty_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 }
 
 DEFINE_TEST(test_write_format_mtree_digests_md5_digest_set_no_data)
@@ -376,7 +373,6 @@ DEFINE_TEST(test_write_format_mtree_digests_md5_digest_set_no_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -403,7 +399,7 @@ DEFINE_TEST(test_write_format_mtree_digests_md5_digest_set_no_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support MD5");
        return;
@@ -470,7 +466,6 @@ DEFINE_TEST(test_write_format_mtree_digests_md5_digest_set_empty_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -503,7 +498,7 @@ DEFINE_TEST(test_write_format_mtree_digests_md5_digest_set_empty_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support MD5");
        return;
@@ -570,7 +565,6 @@ DEFINE_TEST(test_write_format_mtree_digests_md5_digest_set_non_empty_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -603,7 +597,7 @@ DEFINE_TEST(test_write_format_mtree_digests_md5_digest_set_non_empty_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support MD5");
        return;
@@ -667,7 +661,6 @@ DEFINE_TEST(test_write_format_mtree_digests_rmd160_digest_set_no_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -694,7 +687,7 @@ DEFINE_TEST(test_write_format_mtree_digests_rmd160_digest_set_no_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support RMD160");
        return;
@@ -761,7 +754,6 @@ DEFINE_TEST(test_write_format_mtree_digests_rmd160_digest_set_empty_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -794,7 +786,7 @@ DEFINE_TEST(test_write_format_mtree_digests_rmd160_digest_set_empty_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support RMD160");
        return;
@@ -861,7 +853,6 @@ DEFINE_TEST(test_write_format_mtree_digests_rmd160_digest_set_non_empty_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -894,7 +885,7 @@ DEFINE_TEST(test_write_format_mtree_digests_rmd160_digest_set_non_empty_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support RMD160");
        return;
@@ -960,7 +951,6 @@ DEFINE_TEST(test_write_format_mtree_digests_sha1_digest_set_no_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -987,7 +977,7 @@ DEFINE_TEST(test_write_format_mtree_digests_sha1_digest_set_no_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support SHA1");
        return;
@@ -1054,7 +1044,6 @@ DEFINE_TEST(test_write_format_mtree_digests_sha1_digest_set_empty_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -1087,7 +1076,7 @@ DEFINE_TEST(test_write_format_mtree_digests_sha1_digest_set_empty_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support SHA1");
        return;
@@ -1154,7 +1143,6 @@ DEFINE_TEST(test_write_format_mtree_digests_sha1_digest_set_non_empty_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -1187,7 +1175,7 @@ DEFINE_TEST(test_write_format_mtree_digests_sha1_digest_set_non_empty_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support SHA1");
        return;
@@ -1255,7 +1243,6 @@ DEFINE_TEST(test_write_format_mtree_digests_sha256_digest_set_no_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -1282,7 +1269,7 @@ DEFINE_TEST(test_write_format_mtree_digests_sha256_digest_set_no_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support SHA256");
        return;
@@ -1351,7 +1338,6 @@ DEFINE_TEST(test_write_format_mtree_digests_sha256_digest_set_empty_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -1384,7 +1370,7 @@ DEFINE_TEST(test_write_format_mtree_digests_sha256_digest_set_empty_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support SHA256");
        return;
@@ -1453,7 +1439,6 @@ DEFINE_TEST(test_write_format_mtree_digests_sha256_digest_set_non_empty_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -1486,7 +1471,7 @@ DEFINE_TEST(test_write_format_mtree_digests_sha256_digest_set_non_empty_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support SHA256");
        return;
@@ -1555,7 +1540,6 @@ DEFINE_TEST(test_write_format_mtree_digests_sha384_digest_set_no_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -1582,7 +1566,7 @@ DEFINE_TEST(test_write_format_mtree_digests_sha384_digest_set_no_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support SHA384");
        return;
@@ -1652,7 +1636,6 @@ DEFINE_TEST(test_write_format_mtree_digests_sha384_digest_set_empty_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -1685,7 +1668,7 @@ DEFINE_TEST(test_write_format_mtree_digests_sha384_digest_set_empty_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support SHA384");
        return;
@@ -1755,7 +1738,6 @@ DEFINE_TEST(test_write_format_mtree_digests_sha384_digest_set_non_empty_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -1788,7 +1770,7 @@ DEFINE_TEST(test_write_format_mtree_digests_sha384_digest_set_non_empty_data)
 #ifdef ARCHIVE_HAS_SHA512
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 #endif
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support SHA384");
        return;
@@ -1859,7 +1841,6 @@ DEFINE_TEST(test_write_format_mtree_digests_sha512_digest_set_no_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -1887,7 +1868,7 @@ DEFINE_TEST(test_write_format_mtree_digests_sha512_digest_set_no_data)
 
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support SHA512");
        return;
@@ -1959,7 +1940,6 @@ DEFINE_TEST(test_write_format_mtree_digests_sha512_digest_set_empty_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -1993,7 +1973,7 @@ DEFINE_TEST(test_write_format_mtree_digests_sha512_digest_set_empty_data)
 
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support SHA512");
        return;
@@ -2065,7 +2045,6 @@ DEFINE_TEST(test_write_format_mtree_digests_sha512_digest_set_non_empty_data)
        assertEqualIntA(a, ARCHIVE_OK, archive_write_free(a));
 
        assert((a = archive_read_new()) != NULL);
-       assert((entry = archive_entry_new()) != NULL);
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_open_memory(a, buff, used));
@@ -2099,7 +2078,7 @@ DEFINE_TEST(test_write_format_mtree_digests_sha512_digest_set_non_empty_data)
 
        assert(memcmp(archive_entry_digest(entry, ARCHIVE_ENTRY_DIGEST_SHA512), ed.sha512, sizeof(ed.sha512)) == 0);
 
-       archive_entry_free(entry);
+       archive_read_free(a);
 #else
        skipping("This platform does not support SHA512");
        return;
index c8be4829363824d923483ddc1287c00bfd196df4..7c4dc12f417f60dac7cd65a03e798dfb3a60000f 100644 (file)
@@ -88,6 +88,7 @@ test_with_hdrcharset(const char *charset)
        assertEqualInt(2, expected_found);
        failure("should not find unexpected path in anywhere (charset=%s)", charset);
        assertEqualInt(0, unexpected_found);
+       free(buff);
 }
 
 DEFINE_TEST(test_write_format_zip_windows_path)
index 953d9f58991c1fb389ea7165a28977d27daa66fe..69810a304318d74b8eefac293cce6fc556a8cf1d 100644 (file)
@@ -79,4 +79,5 @@ DEFINE_TEST(test_extract_tar_absolute_paths)
 #else
        assertFileNotExists(temp_absolute_file_name + 1); // Skip the slash.
 #endif
+       free(temp_absolute_file_name);
 }