[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[glibc] 01/01: debian/patches/git-updates.diff: update from upstream stable branch:



This is an automated email from the git hooks/post-receive script.

aurel32 pushed a commit to branch sid
in repository glibc.

commit 6d07bf4c0f984d393627adaf20d393c82c4fee7e
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Thu Nov 24 17:08:42 2016 +0100

    debian/patches/git-updates.diff: update from upstream stable branch:
    
    * debian/patches/git-updates.diff: update from upstream stable branch:
      - Fix missing memcpy_chk in libc.a on amd64 when the compiler defaults to
        PIE.  Closes: #845521.
---
 debian/changelog                |   5 ++
 debian/patches/git-updates.diff | 126 +++++++++++++++++++++++++++++++++++++++-
 2 files changed, 129 insertions(+), 2 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 8057df7..b96ae86 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,11 @@ glibc (2.24-7) UNRELEASED; urgency=medium
   * hurd-i386/tg-NOFOLLOW-DIRECTORY.diff: New patch to fix O_NOFOLLOW |
     O_DIRECTORY errors.
 
+  [ Aurelien Jarno ]
+  * debian/patches/git-updates.diff: update from upstream stable branch:
+    - Fix missing memcpy_chk in libc.a on amd64 when the compiler defaults to
+      PIE.  Closes: #845521.
+
  -- Aurelien Jarno <aurel32@debian.org>  Mon, 21 Nov 2016 19:24:59 +0100
 
 glibc (2.24-6) unstable; urgency=medium
diff --git a/debian/patches/git-updates.diff b/debian/patches/git-updates.diff
index 0102e1b..40dac7f 100644
--- a/debian/patches/git-updates.diff
+++ b/debian/patches/git-updates.diff
@@ -1,10 +1,30 @@
 GIT update of git://sourceware.org/git/glibc.git/release/2.24/master from glibc-2.24
 
 diff --git a/ChangeLog b/ChangeLog
-index c44c926..1e2dcea 100644
+index c44c926..e6ea2df 100644
 --- a/ChangeLog
 +++ b/ChangeLog
-@@ -1,3 +1,194 @@
+@@ -1,3 +1,214 @@
++2016-11-24  Aurelien Jarno  <aurelien@aurel32.net>
++
++	* sysdeps/x86_64/memcpy_chk.S (__memcpy_chk): Check for SHARED
++	instead of PIC.
++
++2016-11-23  Matthew Fortune  <Matthew.Fortune@imgtec.com>
++	    Maciej W. Rozycki  <macro@imgtec.com>
++
++	* sysdeps/mips/mips32/crti.S (_init): Add `.insn' pseudo-op at
++	`.Lno_weak_fn' label.
++	* sysdeps/mips/mips64/n32/crti.S (_init): Likewise.
++	* sysdeps/mips/mips64/n64/crti.S (_init): Likewise.
++
++2016-11-22  Adhemerval Zanella  <adhemerva.zanella@linaro.org>
++
++	[BZ #20847]
++	* posix/execvpe.c (maybe_script_execute): Remove write past allocated
++	array bounds.
++	(__execvpe): Likewise.
++
 +2016-11-15  Denis Kaganovich  <mahatma@eu.by>
 +	    Magnus Granberg  <zorry@gentoo.org>
 +	    Mike Frysinger  <vapier@gentoo.org>
@@ -1469,6 +1489,59 @@ index 49d1f23..e046577 100644
 -
 -#~ msgid "cannot create internal descriptors"
 -#~ msgstr "kan inte skapa interna deskriptorer"
+diff --git a/posix/execvpe.c b/posix/execvpe.c
+index d933f9c..7cdb06a 100644
+--- a/posix/execvpe.c
++++ b/posix/execvpe.c
+@@ -48,12 +48,13 @@ maybe_script_execute (const char *file, char *const argv[], char *const envp[])
+ 	}
+     }
+ 
+-  /* Construct an argument list for the shell.  */
++  /* Construct an argument list for the shell.  It will contain at minimum 3
++     arguments (current shell, script, and an ending NULL.  */
+   char *new_argv[argc + 1];
+   new_argv[0] = (char *) _PATH_BSHELL;
+   new_argv[1] = (char *) file;
+   if (argc > 1)
+-    memcpy (new_argv + 2, argv + 1, argc * sizeof(char *));
++    memcpy (new_argv + 2, argv + 1, (argc - 1) * sizeof(char *));
+   else
+     new_argv[2] = NULL;
+ 
+@@ -91,10 +92,11 @@ __execvpe (const char *file, char *const argv[], char *const envp[])
+   /* Although GLIBC does not enforce NAME_MAX, we set it as the maximum
+      size to avoid unbounded stack allocation.  Same applies for
+      PATH_MAX.  */
+-  size_t file_len = __strnlen (file, NAME_MAX + 1);
++  size_t file_len = __strnlen (file, NAME_MAX) + 1;
+   size_t path_len = __strnlen (path, PATH_MAX - 1) + 1;
+ 
+-  if ((file_len > NAME_MAX)
++  /* NAME_MAX does not include the terminating null character.  */
++  if (((file_len-1) > NAME_MAX)
+       || !__libc_alloca_cutoff (path_len + file_len + 1))
+     {
+       errno = ENAMETOOLONG;
+@@ -103,6 +105,9 @@ __execvpe (const char *file, char *const argv[], char *const envp[])
+ 
+   const char *subp;
+   bool got_eacces = false;
++  /* The resulting string maximum size would be potentially a entry
++     in PATH plus '/' (path_len + 1) and then the the resulting file name
++     plus '\0' (file_len since it already accounts for the '\0').  */
+   char buffer[path_len + file_len + 1];
+   for (const char *p = path; ; p = subp)
+     {
+@@ -123,7 +128,7 @@ __execvpe (const char *file, char *const argv[], char *const envp[])
+          execute.  */
+       char *pend = mempcpy (buffer, p, subp - p);
+       *pend = '/';
+-      memcpy (pend + (p < subp), file, file_len + 1);
++      memcpy (pend + (p < subp), file, file_len);
+ 
+       __execve (buffer, argv, envp);
+ 
 diff --git a/sysdeps/arm/nacl/libc.abilist b/sysdeps/arm/nacl/libc.abilist
 index 2f7751d..dfa7198 100644
 --- a/sysdeps/arm/nacl/libc.abilist
@@ -1501,6 +1574,42 @@ index 3d35523..7c1d779 100644
  endif
  
  ifeq ($(subdir),debug)
+diff --git a/sysdeps/mips/mips32/crti.S b/sysdeps/mips/mips32/crti.S
+index 5c0ad73..dfbbdc4 100644
+--- a/sysdeps/mips/mips32/crti.S
++++ b/sysdeps/mips/mips32/crti.S
+@@ -74,6 +74,7 @@ _init:
+ 	.reloc 1f,R_MIPS_JALR,PREINIT_FUNCTION
+ 1:	jalr $25
+ .Lno_weak_fn:
++	.insn
+ #else
+ 	lw $25,%got(PREINIT_FUNCTION)($28)
+ 	.reloc 1f,R_MIPS_JALR,PREINIT_FUNCTION
+diff --git a/sysdeps/mips/mips64/n32/crti.S b/sysdeps/mips/mips64/n32/crti.S
+index 00b89f3..afe6d8e 100644
+--- a/sysdeps/mips/mips64/n32/crti.S
++++ b/sysdeps/mips/mips64/n32/crti.S
+@@ -74,6 +74,7 @@ _init:
+ 	.reloc 1f,R_MIPS_JALR,PREINIT_FUNCTION
+ 1:	jalr $25
+ .Lno_weak_fn:
++	.insn
+ #else
+ 	lw $25,%got_disp(PREINIT_FUNCTION)($28)
+ 	.reloc 1f,R_MIPS_JALR,PREINIT_FUNCTION
+diff --git a/sysdeps/mips/mips64/n64/crti.S b/sysdeps/mips/mips64/n64/crti.S
+index f59b20c..4049d29 100644
+--- a/sysdeps/mips/mips64/n64/crti.S
++++ b/sysdeps/mips/mips64/n64/crti.S
+@@ -74,6 +74,7 @@ _init:
+ 	.reloc 1f,R_MIPS_JALR,PREINIT_FUNCTION
+ 1:	jalr $25
+ .Lno_weak_fn:
++	.insn
+ #else
+ 	ld $25,%got_disp(PREINIT_FUNCTION)($28)
+ 	.reloc 1f,R_MIPS_JALR,PREINIT_FUNCTION
 diff --git a/sysdeps/mips/nptl/Makefile b/sysdeps/mips/nptl/Makefile
 index 117744f..dda154d 100644
 --- a/sysdeps/mips/nptl/Makefile
@@ -2812,3 +2921,16 @@ index 1c1cfff..43acea3 100644
  libpthread-routines += sysdep
 +libpthread-shared-only-routines += sysdep
  endif
+diff --git a/sysdeps/x86_64/memcpy_chk.S b/sysdeps/x86_64/memcpy_chk.S
+index 2296b55..a95b3ad 100644
+--- a/sysdeps/x86_64/memcpy_chk.S
++++ b/sysdeps/x86_64/memcpy_chk.S
+@@ -19,7 +19,7 @@
+ #include <sysdep.h>
+ #include "asm-syntax.h"
+ 
+-#ifndef PIC
++#ifndef SHARED
+ 	/* For libc.so this is defined in memcpy.S.
+ 	   For libc.a, this is a separate source to avoid
+ 	   memcpy bringing in __chk_fail and all routines

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git


Reply to: