Author: ngie
Date: Mon Dec 12 02:09:31 2016
New Revision: 309863
URL: https://svnweb.freebsd.org/changeset/base/309863

Log:
  Free p (the memory allocated via slurpfile) when done with the contents
  
  Reported by:  Coverity
  CID:  1331631, 1331632, 1331633, 1331646
  
  Obtained from: libarchive (ebe29c0ec3b1aaa424df9cf884721c6018c676f4)

Modified:
  vendor/libarchive/dist/cpio/test/test_option_J_upper.c
  vendor/libarchive/dist/cpio/test/test_option_Z_upper.c
  vendor/libarchive/dist/cpio/test/test_option_u.c
  vendor/libarchive/dist/cpio/test/test_option_y.c

Modified: vendor/libarchive/dist/cpio/test/test_option_J_upper.c
==============================================================================
--- vendor/libarchive/dist/cpio/test/test_option_J_upper.c      Mon Dec 12 
00:47:12 2016        (r309862)
+++ vendor/libarchive/dist/cpio/test/test_option_J_upper.c      Mon Dec 12 
02:09:31 2016        (r309863)
@@ -47,10 +47,13 @@ DEFINE_TEST(test_option_J_upper)
                }
                failure("-J option is broken");
                assertEqualInt(r, 0);
-               return;
+               goto done;
        }
+       free(p);
        /* Check that the archive file has an xz signature. */
        p = slurpfile(&s, "archive.out");
        assert(s > 2);
        assertEqualMem(p, "\3757zXZ", 5);
+done:
+       free(p);
 }

Modified: vendor/libarchive/dist/cpio/test/test_option_Z_upper.c
==============================================================================
--- vendor/libarchive/dist/cpio/test/test_option_Z_upper.c      Mon Dec 12 
00:47:12 2016        (r309862)
+++ vendor/libarchive/dist/cpio/test/test_option_Z_upper.c      Mon Dec 12 
02:09:31 2016        (r309863)
@@ -47,10 +47,13 @@ DEFINE_TEST(test_option_Z_upper)
                }
                failure("-Z option is broken");
                assertEqualInt(r, 0);
-               return;
+               goto done;
        }
+       free(p);
        /* Check that the archive file has a compress signature. */
        p = slurpfile(&s, "archive.out");
        assert(s > 2);
        assertEqualMem(p, "\x1f\x9d", 2);
+done:
+       free(p);
 }

Modified: vendor/libarchive/dist/cpio/test/test_option_u.c
==============================================================================
--- vendor/libarchive/dist/cpio/test/test_option_u.c    Mon Dec 12 00:47:12 
2016        (r309862)
+++ vendor/libarchive/dist/cpio/test/test_option_u.c    Mon Dec 12 02:09:31 
2016        (r309863)
@@ -49,6 +49,7 @@ DEFINE_TEST(test_option_u)
        p = slurpfile(&s, "copy/f");
        assertEqualInt(s, 1);
        assertEqualMem(p, "a", 1);
+       free(p);
 
        /* Recreate the file with a single "b" */
        assertMakeFile("f", 0644, "b");
@@ -68,6 +69,7 @@ DEFINE_TEST(test_option_u)
        p = slurpfile(&s, "copy/f");
        assertEqualInt(s, 1);
        assertEqualMem(p, "a", 1);
+       free(p);
 
        /* Copy the file to the "copy" dir with -u (force) */
        r = systemf("echo f| %s -pud copy >copy.out 2>copy.err",
@@ -78,4 +80,5 @@ DEFINE_TEST(test_option_u)
        p = slurpfile(&s, "copy/f");
        assertEqualInt(s, 1);
        assertEqualMem(p, "b", 1);
+       free(p);
 }

Modified: vendor/libarchive/dist/cpio/test/test_option_y.c
==============================================================================
--- vendor/libarchive/dist/cpio/test/test_option_y.c    Mon Dec 12 00:47:12 
2016        (r309862)
+++ vendor/libarchive/dist/cpio/test/test_option_y.c    Mon Dec 12 02:09:31 
2016        (r309863)
@@ -46,11 +46,14 @@ DEFINE_TEST(test_option_y)
                }
                failure("-y option is broken");
                assertEqualInt(r, 0);
-               return;
+               goto done;
        }
        assertTextFileContents("1 block\n", "archive.err");
        /* Check that the archive file has a bzip2 signature. */
+       free(p);
        p = slurpfile(&s, "archive.out");
        assert(s > 2);
        assertEqualMem(p, "BZh9", 4);
+done:
+       free(p);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to