]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Avoid array-bounds warning for strncat on i586 (bug 20260)
authorAndreas Schwab <schwab@suse.de>
Tue, 28 Jun 2016 10:54:59 +0000 (12:54 +0200)
committerAndreas Schwab <schwab@suse.de>
Wed, 29 Jun 2016 15:15:40 +0000 (17:15 +0200)
ChangeLog
sysdeps/x86/bits/string.h

index 3da2eca97eee9e050b9c631cd9c8139d7a36fd52..10dfaa1c8d0392225e0acb00d4bc163218f757c7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-06-29  Andreas Schwab  <schwab@suse.de>
+
+       [BZ #20260]
+       * sysdeps/x86/bits/string.h (__strncat_g) [!__i686__]: Compute the
+       address before the beginning of the string as an integer to avoid
+       array-bounds warning.
+
 2016-06-28  Richard Henderson  <rth@redhat.com>
 
        * elf/elf.h (EM_BPF): New.
index 8dfce052a67cecdacacee8a9527498b896816578..805d33f0a2d13743e763e18c5c474c9507186a15 100644 (file)
@@ -1089,7 +1089,6 @@ __strncat_g (char *__dest, const char __src[], size_t __n)
      :  "g" (__n), "0" (0), "1" (__tmp), "2" (__src), "3" (0xffffffff)
      : "memory", "cc");
 # else
-  --__tmp;
   __asm__ __volatile__
     ("1:\n\t"
      "cmpb     $0,1(%1)\n\t"
@@ -1108,7 +1107,7 @@ __strncat_g (char *__dest, const char __src[], size_t __n)
      "3:\n\t"
      "movb     $0,(%1)"
      : "=&q" (__dummy), "=&r" (__tmp), "=&r" (__src), "=&r" (__n)
-     : "1" (__tmp), "2" (__src), "3" (__n)
+     : "1" ((unsigned long) __tmp - 1), "2" (__src), "3" (__n)
      : "memory", "cc");
 #endif
   return __dest;