diff options
author | Greg McGary <greg@mcgary.org> | 2000-08-25 21:09:43 +0000 |
---|---|---|
committer | Greg McGary <greg@mcgary.org> | 2000-08-25 21:09:43 +0000 |
commit | 53c065086ba304d40b23f8539008757090ff6a58 (patch) | |
tree | ace9dab91c4826b8e5231d057a1d6dad42e27ffc /sysdeps/i386/memchr.S | |
parent | ad7534c8f08c31f3e140a31e4099e7e0b5e193d2 (diff) | |
download | glibc-53c065086ba304d40b23f8539008757090ff6a58.tar.gz glibc-53c065086ba304d40b23f8539008757090ff6a58.tar.xz glibc-53c065086ba304d40b23f8539008757090ff6a58.zip |
* sysdeps/i386/memchr.S: Check high bound against
chars actually scanned. * sysdeps/i386/memcmp.S: Likewise. * sysdeps/i386/stpncpy.S: Adjust high-bound check to account for pointers that lie one beyond end-of-buffer.
Diffstat (limited to 'sysdeps/i386/memchr.S')
-rw-r--r-- | sysdeps/i386/memchr.S | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/i386/memchr.S b/sysdeps/i386/memchr.S index d01a31c855..cae0fd27d8 100644 --- a/sysdeps/i386/memchr.S +++ b/sysdeps/i386/memchr.S @@ -53,7 +53,7 @@ ENTRY (BP_SYM (__memchr)) movl STR(%esp), %eax /* str: pointer to memory block. */ movl CHR(%esp), %edx /* c: byte we are looking for. */ movl LEN(%esp), %esi /* len: length of memory block. */ - CHECK_BOUNDS_BOTH_WIDE (%eax, STR(%esp), %esi) + CHECK_BOUNDS_LOW (%eax, STR(%esp)) /* If my must not test more than three characters test them one by one. This is especially true for 0. */ @@ -314,6 +314,7 @@ L(8): testb %cl, %cl /* test first byte in dword */ /* No further test needed we we know it is one of the four bytes. */ L(9): #if __BOUNDED_POINTERS__ + CHECK_BOUNDS_HIGH (%eax, STR(%esp), jb) /* If RTN pointer is phony, don't copy return value into it. */ movl RTN(%esp), %ecx testl %ecx, %ecx |