Also check for BlockData == 0 in RosResizeMemory. This, however, wasn't a crash since we
were lucky enough to cast the segment to a WORD before the access.


svn path=/trunk/; revision=67476
This commit is contained in:
Aleksandar Andrejevic 2015-04-29 00:58:22 +00:00
parent 86c7c4fb83
commit eba20f3ad8

View file

@ -210,7 +210,9 @@ BOOLEAN DosResizeMemory(WORD BlockData, WORD NewSize, WORD *MaxAvailable)
NewSize);
/* Make sure this is a valid, allocated block */
if ((Mcb->BlockType != 'M' && Mcb->BlockType != 'Z') || Mcb->OwnerPsp == 0)
if (BlockData == 0
|| (Mcb->BlockType != 'M' && Mcb->BlockType != 'Z')
|| Mcb->OwnerPsp == 0)
{
Success = FALSE;
DosLastError = ERROR_INVALID_HANDLE;