diff --git a/pkgs/tools/archivers/cpio/default.nix b/pkgs/tools/archivers/cpio/default.nix index 69e5b1768790..deed73bc0318 100644 --- a/pkgs/tools/archivers/cpio/default.nix +++ b/pkgs/tools/archivers/cpio/default.nix @@ -6,4 +6,5 @@ stdenv.mkDerivation { url = http://ftp.gnu.org/gnu/cpio/cpio-2.7.tar.bz2; md5 = "69ad6cb3d288aafe5f969f68d9fd0fb7"; }; + patches = [./symlink.patch]; } diff --git a/pkgs/tools/archivers/cpio/symlink.patch b/pkgs/tools/archivers/cpio/symlink.patch new file mode 100644 index 000000000000..89f82daa5221 --- /dev/null +++ b/pkgs/tools/archivers/cpio/symlink.patch @@ -0,0 +1,13 @@ +http://lists.gnu.org/archive/html/bug-cpio/2006-11/msg00003.html + +diff -Ndpru cpio-2.7/src/copyout.c cpio-2.7.fixed/src/copyout.c +--- cpio-2.7/src/copyout.c 2006-09-27 02:19:44.000000000 -0600 ++++ cpio-2.7.fixed/src/copyout.c 2006-11-12 18:58:25.000000000 -0700 +@@ -806,6 +806,7 @@ process_copy_out () + free (link_name); + continue; + } ++ link_name[link_size] = '\0'; + cpio_safer_name_suffix (link_name, false, + !no_abs_paths_flag, true); + link_size = strlen (link_name);