]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Fix serious memory leaks in test_fuzz.c.
authorTim Kientzle <kientzle@gmail.com>
Sat, 2 Jan 2010 01:18:03 +0000 (20:18 -0500)
committerTim Kientzle <kientzle@gmail.com>
Sat, 2 Jan 2010 01:18:03 +0000 (20:18 -0500)
SVN-Revision: 1789

libarchive/test/test_fuzz.c

index e7fd45da9cbbf0d064e9701f9728143a924df915..e5dede932161a22c5eac3da6da2cc3453986571d 100644 (file)
@@ -112,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))
@@ -153,8 +155,8 @@ DEFINE_TEST(test_fuzz)
                                                continue;
                                }
                                archive_read_close(a);
-                               archive_read_finish(a);
                        }
+                       archive_read_finish(a);
                }
                free(image);
                free(rawimage);