components/libarchive/patches/archive_write_set_format_pax.c.patch
author Sowrabha H G<sowrabha.hg@oracle.com>
Wed, 15 Jul 2015 08:08:35 -0700
branchs11u2-sru
changeset 4650 7a924b284d8d
parent 2651 9b563675339e
permissions -rw-r--r--
20479968 net-snmp-config --create-snmpv3-user in GZ fails when snmpd is running in NGZ
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)