Ignore:
Timestamp:
Nov 18, 2000, 5:20:06 PM (25 years ago)
Author:
sandervl
Message:

MN: exception fix for ES == FS

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/exceptions.cpp

    r4496 r4613  
    1 /* $Id: exceptions.cpp,v 1.47 2000-10-18 17:09:31 sandervl Exp $ */
     1/* $Id: exceptions.cpp,v 1.48 2000-11-18 16:20:06 sandervl Exp $ */
    22
    33/* WARNING: Compiling this module with ICC with optimizations turned on   */
     
    11021102                goto continueFail;
    11031103        }
     1104//------------->>> WARNING: potentially dangerous workaround!!
     1105        /* Some apps set ES = FS and Odin doesn't like that!       */
     1106        /* Note: maybe we could even check for ES != DS? But maybe */
     1107        /* that might cause more harm than good...                 */
     1108        if (pCtxRec->ContextFlags & CONTEXT_SEGMENTS)
     1109            if (pCtxRec->ctx_SegEs == pCtxRec->ctx_SegFs) {
     1110                /* Let's just reset ES to the DS value and hope it's okay */
     1111                pCtxRec->ctx_SegEs = pCtxRec->ctx_SegDs;
     1112                goto continueexecution;
     1113        }
     1114
    11041115        switch(pERepRec->ExceptionInfo[0]) {
    11051116        case XCPT_READ_ACCESS:
Note: See TracChangeset for help on using the changeset viewer.