aboutsummaryrefslogtreecommitdiff
path: root/archivers/gtar/files/patch-src_names.c
diff options
context:
space:
mode:
Diffstat (limited to 'archivers/gtar/files/patch-src_names.c')
-rw-r--r--archivers/gtar/files/patch-src_names.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/archivers/gtar/files/patch-src_names.c b/archivers/gtar/files/patch-src_names.c
new file mode 100644
index 000000000000..011f2d79ee0e
--- /dev/null
+++ b/archivers/gtar/files/patch-src_names.c
@@ -0,0 +1,14 @@
+$FreeBSD$
+
+Fix an instance of use-after-free(), from upstream.
+
+--- src/names.c.orig 2010-03-27 21:57:39.000000000 +0100
++++ src/names.c 2010-03-27 21:58:02.000000000 +0100
+@@ -950,6 +950,7 @@ collect_and_sort_names (void)
+ {
+ if (p->child)
+ rebase_child_list (p->child, name);
++ hash_delete (nametab, name);
+ /* FIXME: remove_directory (p->caname); ? */
+ remname (p);
+ free_name (p);