From 627215a2cb5b16c8295dca2d101ee0ea29ee982f Mon Sep 17 00:00:00 2001 From: Pekka Pirinen Date: Mon, 6 Apr 1998 18:55:15 +0100 Subject: [PATCH] Fix size check (change.epcore.170475) Copied from Perforce Change: 19399 ServerID: perforce.ravenbrook.com --- mps/src/vmw3.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/mps/src/vmw3.c b/mps/src/vmw3.c index dda78b3af40..64f03c119fd 100644 --- a/mps/src/vmw3.c +++ b/mps/src/vmw3.c @@ -1,6 +1,6 @@ /* impl.c.vmw3: VIRTUAL MEMORY MAPPING FOR WIN32 * - * $HopeName: MMsrc!vmw3.c(trunk.23) $ + * $HopeName: MMsrc!vmw3.c(trunk.24) $ * Copyright (C) 1997, 1998 Harlequin Group, all rights reserved * * Design: design.mps.vm @@ -55,7 +55,7 @@ #include "mpswin.h" -SRCID(vmw3, "$HopeName: MMsrc!vmw3.c(trunk.23) $"); +SRCID(vmw3, "$HopeName: MMsrc!vmw3.c(trunk.24) $"); /* VMStruct -- virtual memory structure */ @@ -174,12 +174,11 @@ Res VMCreate(VM *vmReturn, Size size) GetSystemInfo(&si); align = (Align)si.dwPageSize; AVER(SizeIsP2(align)); /* see .assume.sysalign */ - size = SizeAlignUp(size, align); - AVER(size != 0); + if((size == 0) || (size > (Size)(DWORD)-1)) + return ResRESOURCE; - /* Allocate some store for the space descriptor. - * This is likely to be wasteful see issue.vmnt.waste */ + /* Allocate the vm descriptor. This is likely to be wasteful. */ vbase = VirtualAlloc(NULL, SizeAlignUp(sizeof(VMStruct), align), MEM_COMMIT, PAGE_READWRITE); if(vbase == NULL)