diff options
Diffstat (limited to 'lib/libarchive/test/test_fuzz.c')
-rw-r--r-- | lib/libarchive/test/test_fuzz.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/libarchive/test/test_fuzz.c b/lib/libarchive/test/test_fuzz.c index 7e3f28d..8f91fca 100644 --- a/lib/libarchive/test/test_fuzz.c +++ b/lib/libarchive/test/test_fuzz.c @@ -62,6 +62,7 @@ static struct { {0, "test_compat_zip_1.zip"}, {0, "test_read_format_ar.ar"}, {0, "test_read_format_cpio_bin_be.cpio"}, + {0, "test_read_format_cpio_svr4_gzip_rpm.rpm"}, /* Test RPM unwrapper */ {0, "test_read_format_gtar_sparse_1_17_posix10_modified.tar"}, {0, "test_read_format_mtree.mtree"}, {0, "test_read_format_tar_empty_filename.tar"}, @@ -111,8 +112,10 @@ DEFINE_TEST(test_fuzz) assert(size > 0); failure("Internal buffer is not big enough for " "uncompressed test file: %s", filename); - if (!assert(size < buffsize)) + if (!assert(size < buffsize)) { + free(rawimage); continue; + } } else { rawimage = slurpfile(&size, filename); if (!assert(rawimage != NULL)) @@ -152,8 +155,8 @@ DEFINE_TEST(test_fuzz) continue; } archive_read_close(a); - archive_read_finish(a); } + archive_read_finish(a); } free(image); free(rawimage); |