[FREELDR]

Don't set the ebp register when doing INTs. We only need the output after the int and since the REGS structure is usually not fully initialized before calling Int386, we would load random values. This can cause crashes on VPC.
Thanks to hbelusca fo testing.

svn path=/trunk/; revision=56903
This commit is contained in:
Timo Kreuzer 2012-07-15 21:18:43 +00:00
parent 069a20926a
commit dd13d207ef

View file

@ -47,7 +47,7 @@ Int386:
mov edx, dword ptr cs:[BSS_RegisterSet + REGS_EDX] mov edx, dword ptr cs:[BSS_RegisterSet + REGS_EDX]
mov esi, dword ptr cs:[BSS_RegisterSet + REGS_ESI] mov esi, dword ptr cs:[BSS_RegisterSet + REGS_ESI]
mov edi, dword ptr cs:[BSS_RegisterSet + REGS_EDI] mov edi, dword ptr cs:[BSS_RegisterSet + REGS_EDI]
mov ebp, dword ptr cs:[BSS_RegisterSet + REGS_EBP] // Don't setup ebp, we only use it as output!
/* Call the interrupt vector */ /* Call the interrupt vector */
/*int Int386_vector*/ /*int Int386_vector*/