diff options
author | Andreas Schwab <schwab@suse.de> | 2016-06-28 12:54:59 +0200 |
---|---|---|
committer | Andreas Schwab <schwab@suse.de> | 2016-06-29 17:15:40 +0200 |
commit | fea56491c44623b23675b4440bf4037b855b5ce0 (patch) | |
tree | 43fe2f3f2d48d322d34634942cc32cdda9178d34 | |
parent | e402823ef3852704296cd775c58e4bc633c07f20 (diff) | |
download | glibc-fea56491c44623b23675b4440bf4037b855b5ce0.zip glibc-fea56491c44623b23675b4440bf4037b855b5ce0.tar.gz glibc-fea56491c44623b23675b4440bf4037b855b5ce0.tar.bz2 |
Avoid array-bounds warning for strncat on i586 (bug 20260)
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | sysdeps/x86/bits/string.h | 3 |
2 files changed, 8 insertions, 2 deletions
@@ -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. diff --git a/sysdeps/x86/bits/string.h b/sysdeps/x86/bits/string.h index 8dfce05..805d33f 100644 --- a/sysdeps/x86/bits/string.h +++ b/sysdeps/x86/bits/string.h @@ -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; |