From 53c065086ba304d40b23f8539008757090ff6a58 Mon Sep 17 00:00:00 2001 From: Greg McGary Date: Fri, 25 Aug 2000 21:09:43 +0000 Subject: * 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. --- sysdeps/i386/memcmp.S | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'sysdeps/i386/memcmp.S') diff --git a/sysdeps/i386/memcmp.S b/sysdeps/i386/memcmp.S index 8d855b9d2a..d8b60d06c5 100644 --- a/sysdeps/i386/memcmp.S +++ b/sysdeps/i386/memcmp.S @@ -38,8 +38,8 @@ ENTRY (BP_SYM (memcmp)) movl BLK1(%esp), %esi movl BLK2(%esp), %edi movl LEN(%esp), %ecx - CHECK_BOUNDS_BOTH_WIDE (%esi, BLK1(%esp), %ecx) - CHECK_BOUNDS_BOTH_WIDE (%edi, BLK2(%esp), %ecx) + CHECK_BOUNDS_LOW (%esi, BLK1(%esp)) + CHECK_BOUNDS_LOW (%edi, BLK2(%esp)) cld /* Set direction of comparison. */ @@ -62,7 +62,9 @@ ENTRY (BP_SYM (memcmp)) Note that the following operation does not change 0xffffffff. */ orb $1, %al /* Change 0 to 1. */ -L(1): popl %esi /* Restore registers. */ +L(1): CHECK_BOUNDS_HIGH (%esi, BLK1(%esp), jbe) + CHECK_BOUNDS_HIGH (%edi, BLK2(%esp), jbe) + popl %esi /* Restore registers. */ movl %edx, %edi LEAVE -- cgit 1.4.1