Alexandre Julliard : winedos: Don' t emulate in 32-bit mode interrupts that don't have a specific handler.

Alexandre Julliard julliard at winehq.org
Mon Dec 31 12:32:29 CST 2007


Module: wine
Branch: master
Commit: 4d53055f623a356df6c872b1f35fd92aaa50a914
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4d53055f623a356df6c872b1f35fd92aaa50a914

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Dec 31 17:25:05 2007 +0100

winedos: Don't emulate in 32-bit mode interrupts that don't have a specific handler.

---

 dlls/winedos/interrupts.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/winedos/interrupts.c b/dlls/winedos/interrupts.c
index f254f5a..a7c791f 100644
--- a/dlls/winedos/interrupts.c
+++ b/dlls/winedos/interrupts.c
@@ -328,8 +328,10 @@ BOOL WINAPI DOSVM_EmulateInterruptPM( CONTEXT86 *context, BYTE intnum )
     }
     else if (wine_ldt_is_system(context->SegCs))
     {
-        INTPROC proc = DOSVM_GetBuiltinHandler( intnum );
-        if (!proc) return FALSE;
+        INTPROC proc;
+        if (intnum >= sizeof(DOSVM_VectorsBuiltin)/sizeof(INTPROC)) return FALSE;
+        if (!(proc = DOSVM_VectorsBuiltin[intnum])) return FALSE;
+        proc( context );
     }
     else
     {




More information about the wine-cvs mailing list