diff options
author | Ulrich Drepper <drepper@redhat.com> | 2006-01-10 00:25:07 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2006-01-10 00:25:07 +0000 |
commit | bc795d0b3065b9d03fcbf200ae889047350323df (patch) | |
tree | b508e2df5a57bb0c0e58e78db43ecebf2eb96fc3 /sysdeps/i386/i686/strtok.S | |
parent | 71ea167b1d3b01e78378b4863d87b5affb5def5f (diff) | |
download | glibc-bc795d0b3065b9d03fcbf200ae889047350323df.tar glibc-bc795d0b3065b9d03fcbf200ae889047350323df.tar.gz glibc-bc795d0b3065b9d03fcbf200ae889047350323df.tar.bz2 glibc-bc795d0b3065b9d03fcbf200ae889047350323df.zip |
[BZ #2126]
* sysdeps/i386/i686/strtok.S: Store pointer to NUL byte if NULL is
returned.
* sysdeps/i386/strtok.S: Likewise.
* sysdeps/x86_64/strtok.S: Likewise.
* string/Makefile (tests): Add bug-strtok1.
* string/bug-strtok1.c: New file.
Diffstat (limited to 'sysdeps/i386/i686/strtok.S')
-rw-r--r-- | sysdeps/i386/i686/strtok.S | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sysdeps/i386/i686/strtok.S b/sysdeps/i386/i686/strtok.S index 0cd266a2a1..fe225e5485 100644 --- a/sysdeps/i386/i686/strtok.S +++ b/sysdeps/i386/i686/strtok.S @@ -1,6 +1,6 @@ /* strtok (str, delim) -- Return next DELIM separated token from STR. For Intel 80686. - Copyright (C) 1998, 2000, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2000, 2001, 2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -250,9 +250,9 @@ L(8): cmpl %eax, %edx cmovne %ecx, %edx /* Store the pointer to the next character. */ -# ifdef USE_AS_STRTOK_R +#ifdef USE_AS_STRTOK_R movl SAVE(%esp), %ecx -# endif +#endif movl %edx, SAVE_PTR CHECK_BOUNDS_HIGH (%edx, SAVE_PTR, jb) RETURN_BOUNDED_POINTER (SAVE_PTR) @@ -271,6 +271,10 @@ L(epilogue): L(returnNULL): xorl %eax, %eax +#ifdef USE_AS_STRTOK_R + movl SAVE(%esp), %ecx +#endif + movl %edx, SAVE_PTR RETURN_NULL_BOUNDED_POINTER jmp L(epilogue) |