aboutsummaryrefslogtreecommitdiff
path: root/ports-mgmt/pkg/files
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2013-05-17 05:13:32 +0000
committerBryan Drewery <bdrewery@FreeBSD.org>2013-05-17 05:13:32 +0000
commitcf68b5dbeb68c29d02645d004dd6a8f46a0cc6b5 (patch)
tree50f8115f17e706f01c8bd95f475992b2f8339bec /ports-mgmt/pkg/files
parente53711a802a51a59912a6f35e81d3b3b00efe7a4 (diff)
downloadports-cf68b5dbeb68c29d02645d004dd6a8f46a0cc6b5.tar.gz
ports-cf68b5dbeb68c29d02645d004dd6a8f46a0cc6b5.zip
Notes
Diffstat (limited to 'ports-mgmt/pkg/files')
-rw-r--r--ports-mgmt/pkg/files/patch-libpkg__pkg_elf.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/ports-mgmt/pkg/files/patch-libpkg__pkg_elf.c b/ports-mgmt/pkg/files/patch-libpkg__pkg_elf.c
new file mode 100644
index 000000000000..a416d9e4db13
--- /dev/null
+++ b/ports-mgmt/pkg/files/patch-libpkg__pkg_elf.c
@@ -0,0 +1,26 @@
+--- ./libpkg/pkg_elf.c.orig 2013-05-16 23:38:38.020628709 -0500
++++ ./libpkg/pkg_elf.c 2013-05-16 23:57:33.346627390 -0500
+@@ -258,7 +258,10 @@
+ }
+
+ if (note != NULL) {
+- data = elf_getdata(note, NULL);
++ if ((data = elf_getdata(note, NULL)) == NULL) {
++ ret = EPKG_END; /* Some error occurred, ignore this file */
++ goto cleanup;
++ }
+ osname = (const char *) data->d_buf + sizeof(Elf_Note);
+ if (strncasecmp(osname, "freebsd", sizeof("freebsd")) != 0 &&
+ strncasecmp(osname, "dragonfly", sizeof("dragonfly")) != 0) {
+@@ -272,7 +275,10 @@
+ }
+ }
+
+- data = elf_getdata(dynamic, NULL);
++ if ((data = elf_getdata(dynamic, NULL)) == NULL) {
++ ret = EPKG_END; /* Some error occurred, ignore this file */
++ goto cleanup;
++ }
+
+ /* First, scan through the data from the .dynamic section to
+ find any RPATH or RUNPATH settings. These are colon