components/libarchive/patches/archive_write_set_format_pax.c.patch
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Mon, 06 Oct 2014 14:54:16 -0700
branchs11-update
changeset 3371 4d8465c4afb8
parent 2651 9b563675339e
permissions -rw-r--r--
Close of build 8.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2651
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     1
A less complete version of this patch was fed back to the upstream community:
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     2
http://code.google.com/p/libarchive/issues/detail?id=285
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     3
This more complete patch was committed instead.  It should no longer be
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     4
needed with the next release.
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     5
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     6
--- libarchive/libarchive/archive_write_set_format_pax.c.orig	Mon Mar 26 19:49:00 2012
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     7
+++ libarchive/libarchive/archive_write_set_format_pax.c	Sun Dec  2 04:03:38 2012
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     8
@@ -647,8 +647,10 @@ archive_write_pax_header(struct archive_write *a,
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     9
		oname = archive_entry_pathname(entry_original);
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    10
		name_length = strlen(oname);
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    11
		name = malloc(name_length + 3);
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    12
-		if (name == NULL) {
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    13
+		if (name == NULL || extra == NULL) {
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    14
			/* XXX error message */
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    15
+			archive_entry_free(extra);
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    16
+			free(name);
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    17
			return (ARCHIVE_FAILED);
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    18
		}
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    19
		strcpy(name, oname);
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    20
@@ -687,6 +689,7 @@ archive_write_pax_header(struct archive_write *a,
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    21
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    22
		/* Recurse to write the special copyfile entry. */
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    23
		r = archive_write_pax_header(a, extra);
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    24
+		archive_entry_free(extra);
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    25
		if (r < ARCHIVE_WARN)
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    26
			return (r);
9b563675339e PSARC 2012/356 libarchive
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    27
		if (r < ret)