mirror of
https://github.com/reactos/reactos.git
synced 2024-10-03 16:05:37 +00:00
[kernel32] IsBadStringPtrA/W:
- Remove overflow failure case, this isn't checked for string validation - Adapt page check to let the full string be checked in case of overflow See issue #4861 for more details. svn path=/trunk/; revision=43487
This commit is contained in:
parent
071a297838
commit
b452b0b30a
|
@ -171,9 +171,6 @@ IsBadStringPtrW(IN LPCWSTR lpsz,
|
|||
/* Calculate the last page */
|
||||
Last = (PWCHAR)((ULONG_PTR)lpsz + (ucchMax * 2) - 2);
|
||||
|
||||
/* Another quick failure case */
|
||||
if ((ULONG_PTR)Last < (ULONG_PTR)lpsz) return TRUE;
|
||||
|
||||
/* Enter SEH */
|
||||
_SEH2_TRY
|
||||
{
|
||||
|
@ -184,7 +181,7 @@ IsBadStringPtrW(IN LPCWSTR lpsz,
|
|||
{
|
||||
Char = *Current;
|
||||
Current++;
|
||||
} while (Char && (Current <= Last));
|
||||
} while (Char && (Current != Last));
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
|
@ -217,9 +214,6 @@ IsBadStringPtrA(IN LPCSTR lpsz,
|
|||
/* Calculate the last page */
|
||||
Last = (PCHAR)((ULONG_PTR)lpsz + ucchMax - 1);
|
||||
|
||||
/* Another quick failure case */
|
||||
if ((ULONG_PTR)Last < (ULONG_PTR)lpsz) return TRUE;
|
||||
|
||||
/* Enter SEH */
|
||||
_SEH2_TRY
|
||||
{
|
||||
|
@ -230,7 +224,7 @@ IsBadStringPtrA(IN LPCSTR lpsz,
|
|||
{
|
||||
Char = *Current;
|
||||
Current++;
|
||||
} while (Char && (Current <= Last));
|
||||
} while (Char && (Current != Last));
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue