aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/libarchive-mtree-filename-length-fix.patch
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2014-10-11 22:49:15 -0400
committerMark H Weaver <mhw@netris.org>2014-10-11 23:21:37 -0400
commit1b7d5242c36d82242f1148cc583ea362d3e83577 (patch)
tree811341494f3aadb17d5954483c8c7ba610c8bf6b /gnu/packages/patches/libarchive-mtree-filename-length-fix.patch
parent36ae58488bfeeb3bc2b314bd16ba37d06b3a13af (diff)
downloadguix-1b7d5242c36d82242f1148cc583ea362d3e83577.tar
guix-1b7d5242c36d82242f1148cc583ea362d3e83577.tar.gz
gnu: libarchive: Apply fixes including for CVE-2013-0211.
* gnu/packages/patches/libarchive-CVE-2013-0211.patch, gnu/packages/patches/libarchive-fix-lzo-test-case.patch, gnu/packages/patches/libarchive-mtree-filename-length-fix.patch: New files. * gnu-system.am (dist_patch_DATA): Add them. * gnu/packages/backup.scm (libarchive)[source]: Add patches.
Diffstat (limited to 'gnu/packages/patches/libarchive-mtree-filename-length-fix.patch')
-rw-r--r--gnu/packages/patches/libarchive-mtree-filename-length-fix.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/gnu/packages/patches/libarchive-mtree-filename-length-fix.patch b/gnu/packages/patches/libarchive-mtree-filename-length-fix.patch
new file mode 100644
index 0000000000..ad94592c05
--- /dev/null
+++ b/gnu/packages/patches/libarchive-mtree-filename-length-fix.patch
@@ -0,0 +1,18 @@
+Description: Patch to fix filename length calculation when writing mtree archives.
+Author: Dave Reisner <dreisner@archlinux.org>
+Origin: upstream
+
+--- a/libarchive/archive_write_set_format_mtree.c
++++ b/libarchive/archive_write_set_format_mtree.c
+@@ -1855,9 +1855,9 @@
+ return (ret);
+ }
+
+- /* Make a basename from dirname and slash */
++ /* Make a basename from file->parentdir.s and slash */
+ *slash = '\0';
+- file->parentdir.length = slash - dirname;
++ file->parentdir.length = slash - file->parentdir.s;
+ archive_strcpy(&(file->basename), slash + 1);
+ return (ret);
+ }