[NTVDM]
authorAleksandar Andrejevic <aandrejevic@reactos.org>
Wed, 29 Apr 2015 00:58:22 +0000 (00:58 +0000)
committerAleksandar Andrejevic <aandrejevic@reactos.org>
Wed, 29 Apr 2015 00:58:22 +0000 (00:58 +0000)
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

reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/memory.c

index 892bbbd..4a96255 100644 (file)
@@ -210,7 +210,9 @@ BOOLEAN DosResizeMemory(WORD BlockData, WORD NewSize, WORD *MaxAvailable)
            NewSize);
 
     /* Make sure this is a valid, allocated block */
            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;
     {
         Success = FALSE;
         DosLastError = ERROR_INVALID_HANDLE;