]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
If we don't have any way to decompress a test archive (neither library nor command...
authorTim Kientzle <kientzle@gmail.com>
Sun, 29 Nov 2009 20:14:52 +0000 (15:14 -0500)
committerTim Kientzle <kientzle@gmail.com>
Sun, 29 Nov 2009 20:14:52 +0000 (15:14 -0500)
SVN-Revision: 1678

libarchive/test/test_fuzz.c

index 71b020c782e6cf367f11a989d0a8b2d93d3eeaf3..b102350bfe64b6207648411031c1e01e9d170a05 100644 (file)
@@ -87,14 +87,19 @@ DEFINE_TEST(test_fuzz)
 
                extract_reference_file(filename);
                if (files[n].uncompress) {
+                       int r;
                        /* Use format_raw to decompress the data. */
                        assert((a = archive_read_new()) != NULL);
                        assertEqualIntA(a, ARCHIVE_OK,
                            archive_read_support_compression_all(a));
                        assertEqualIntA(a, ARCHIVE_OK,
                            archive_read_support_format_raw(a));
-                       assertEqualIntA(a, ARCHIVE_OK,
-                           archive_read_open_filename(a, filename, 16384));
+                       r = archive_read_open_filename(a, filename, 16384);
+                       if (r != ARCHIVE_OK) {
+                               archive_read_finish(a);
+                               skipping("Cannot uncompress %s", filename);
+                               continue;
+                       }
                        assertEqualIntA(a, ARCHIVE_OK,
                            archive_read_next_header(a, &ae));
                        rawimage = malloc(buffsize);