[SOFT386]
authorAleksandar Andrejevic <aandrejevic@reactos.org>
Mon, 30 Sep 2013 03:10:38 +0000 (03:10 +0000)
committerAleksandar Andrejevic <aandrejevic@reactos.org>
Mon, 30 Sep 2013 03:10:38 +0000 (03:10 +0000)
Fix previous fix.

svn path=/branches/ntvdm/; revision=60468

lib/soft386/common.c

index 492eebd..238da7a 100644 (file)
@@ -50,7 +50,7 @@ Soft386ReadMemory(PSOFT386_STATE State,
     /* Get the cached descriptor */
     CachedDescriptor = &State->SegmentRegs[SegmentReg];
 
     /* Get the cached descriptor */
     CachedDescriptor = &State->SegmentRegs[SegmentReg];
 
-    if ((Offset + Size) > CachedDescriptor->Limit)
+    if ((Offset + Size - 1) > CachedDescriptor->Limit)
     {
         /* Read beyond limit */
         Soft386Exception(State, SOFT386_EXCEPTION_GP);
     {
         /* Read beyond limit */
         Soft386Exception(State, SOFT386_EXCEPTION_GP);
@@ -190,7 +190,7 @@ Soft386WriteMemory(PSOFT386_STATE State,
     /* Get the cached descriptor */
     CachedDescriptor = &State->SegmentRegs[SegmentReg];
 
     /* Get the cached descriptor */
     CachedDescriptor = &State->SegmentRegs[SegmentReg];
 
-    if ((Offset + Size) >= CachedDescriptor->Limit)
+    if ((Offset + Size - 1) > CachedDescriptor->Limit)
     {
         /* Write beyond limit */
         Soft386Exception(State, SOFT386_EXCEPTION_GP);
     {
         /* Write beyond limit */
         Soft386Exception(State, SOFT386_EXCEPTION_GP);