diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/x86_64/memchr.S | 2 |
2 files changed, 6 insertions, 1 deletions
@@ -1,12 +1,15 @@ 2009-05-08 Ulrich Drepper <drepper@redhat.com> + * sysdeps/x86_64/memchr.S: Handle invalid buffer pointers when + count is zero. + * po/da.po: Update from translation team. 2009-05-05 Jakub Jelinek <jakub@redhat.com> * io/sys/stat.h (fstatat64): Guard prototype with __USE_LARGEFILE64, guard __extern_inline wrapper with __USE_ATFILE instead of __USE_GNU. - + 2009-05-05 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/sys/personality.h: Add ADDR_COMPAT_LAYOUT diff --git a/sysdeps/x86_64/memchr.S b/sysdeps/x86_64/memchr.S index 09ba6d4..54b7af5 100644 --- a/sysdeps/x86_64/memchr.S +++ b/sysdeps/x86_64/memchr.S @@ -26,7 +26,9 @@ ENTRY (memchr) movq %rdi, %rcx punpcklbw %xmm1, %xmm1 andq $~15, %rdi + testq %rdx, %rdx punpcklbw %xmm1, %xmm1 + jz 3f orl $0xffffffff, %esi movdqa (%rdi), %xmm0 pshufd $0, %xmm1, %xmm1 |