]> git.pld-linux.org Git - packages/tar.git/commitdiff
- prevent sigabrt with fortified sources (taken from Fedora) auto/th/tar-1_23-4
authorKacper Kornet <draenog@pld-linux.org>
Mon, 26 Apr 2010 15:22:53 +0000 (15:22 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    tar-fortifysourcessigabrt.patch -> 1.1
    tar.spec -> 1.125

tar-fortifysourcessigabrt.patch [new file with mode: 0644]
tar.spec

diff --git a/tar-fortifysourcessigabrt.patch b/tar-fortifysourcessigabrt.patch
new file mode 100644 (file)
index 0000000..e64ec6f
--- /dev/null
@@ -0,0 +1,32 @@
+diff -urNp tar-1.22-orig/src/create.c tar-1.22/src/create.c
+--- tar-1.22-orig/src/create.c 2009-07-09 18:38:37.000000000 +0200
++++ tar-1.22/src/create.c      2009-07-09 18:43:44.000000000 +0200
+@@ -578,7 +578,10 @@ write_gnu_long_link (struct tar_stat_inf
+   GNAME_TO_CHARS (tmpname, header->header.gname);
+   free (tmpname);
+-  strcpy (header->header.magic, OLDGNU_MAGIC);
++  /* OLDGNU_MAGIC is string with 7 chars + NULL */
++  strncpy (header->header.magic, OLDGNU_MAGIC, sizeof(header->header.magic));
++  strncpy (header->header.version, OLDGNU_MAGIC+sizeof(header->header.magic),
++           sizeof(header->header.version));
+   header->header.typeflag = type;
+   finish_header (st, header, -1);
+@@ -908,9 +911,13 @@ start_header (struct tar_stat_info *st)
+       break;
+     case OLDGNU_FORMAT:
+-    case GNU_FORMAT:   /*FIXME?*/
+-      /* Overwrite header->header.magic and header.version in one blow.  */
+-      strcpy (header->header.magic, OLDGNU_MAGIC);
++    case GNU_FORMAT:
++      /* OLDGNU_MAGIC is string with 7 chars + NULL */
++      strncpy (header->header.magic, OLDGNU_MAGIC,
++               sizeof(header->header.magic));
++      strncpy (header->header.version,
++               OLDGNU_MAGIC+sizeof(header->header.magic),
++               sizeof(header->header.version));
+       break;
+     case POSIX_FORMAT:
index e6a6a5c7fce216c915a4d577c8190ebcb2d883fb..825f823678f414528d580eaaed320386277a6ef7 100644 (file)
--- a/tar.spec
+++ b/tar.spec
@@ -11,7 +11,7 @@ Summary(pt_BR.UTF-8): GNU Tape Archiver (tar)
 Summary(tr.UTF-8):     Yaygın kullanılan yedekleyici
 Name:          tar
 Version:       1.23
-Release:       3
+Release:       4
 Epoch:         1
 License:       GPL v3+
 Group:         Applications/Archiving
@@ -25,6 +25,7 @@ Patch2:               %{name}-info.patch
 Patch3:                %{name}-pl.po-update.patch
 Patch4:                %{name}-zero-block.patch
 Patch5:                am-nosilentrules.patch
+Patch6:                %{name}-fortifysourcessigabrt.patch
 URL:           http://www.gnu.org/software/tar/tar.html
 BuildRequires: autoconf >= 2.60
 BuildRequires: automake >= 1:1.9
@@ -147,6 +148,7 @@ z pakietu dump.
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
 
 %{__rm} po/stamp-po
 
This page took 0.029054 seconds and 4 git commands to generate.