[FAST486]
authorAleksandar Andrejevic <aandrejevic@reactos.org>
Sat, 9 May 2015 21:56:40 +0000 (21:56 +0000)
committerAleksandar Andrejevic <aandrejevic@reactos.org>
Sat, 9 May 2015 21:56:40 +0000 (21:56 +0000)
If the executable bit of a segment descriptor is set, it's never a grow-down segment.

svn path=/trunk/; revision=67606

reactos/lib/fast486/common.c

index 9a95614..03ba743 100644 (file)
@@ -47,7 +47,7 @@ Fast486ReadMemory(PFAST486_STATE State,
     /* Get the cached descriptor */
     CachedDescriptor = &State->SegmentRegs[SegmentReg];
 
-    if (InstFetch || !CachedDescriptor->DirConf)
+    if (InstFetch || CachedDescriptor->Executable || !CachedDescriptor->DirConf)
     {
         if ((Offset + Size - 1) > CachedDescriptor->Limit)
         {
@@ -169,7 +169,7 @@ Fast486WriteMemory(PFAST486_STATE State,
     /* Get the cached descriptor */
     CachedDescriptor = &State->SegmentRegs[SegmentReg];
 
-    if (!CachedDescriptor->DirConf)
+    if (CachedDescriptor->Executable || !CachedDescriptor->DirConf)
     {
         if ((Offset + Size - 1) > CachedDescriptor->Limit)
         {