Author: sginsberg
Date: Fri Jul 10 05:06:09 2009
New Revision: 41837
URL: http://svn.reactos.org/svn/reactos?rev=41837&view=rev
Log:
- Fix a serious bug in KiDispatchException; DbgkForwardException got called with the SecondChance parameter set to FALSE when forwarding second chance exceptions to user mode debuggers! This bug, introduced in revision 23802, made second chance exceptions appear as first chance to user mode debuggers (meaning unhandled exceptions wouldn't get caught). Bug exposed by the ntdll winetest.
Modified:
trunk/reactos/ntoskrnl/ke/i386/exp.c
Modified: trunk/reactos/ntoskrnl/ke/i386/exp.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/i386/exp.c?rev…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/i386/exp.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ke/i386/exp.c [iso-8859-1] Fri Jul 10 05:06:09 2009
@@ -1029,7 +1029,7 @@
}
/* Try second chance */
- if (DbgkForwardException(ExceptionRecord, TRUE, FALSE))
+ if (DbgkForwardException(ExceptionRecord, TRUE, TRUE))
{
/* Handled, get out */
goto Exit;
Author: cgutman
Date: Thu Jul 9 19:55:29 2009
New Revision: 41832
URL: http://svn.reactos.org/svn/reactos?rev=41832&view=rev
Log:
- Don't overwrite previously set flags
Modified:
trunk/reactos/dll/win32/msafd/misc/sndrcv.c
Modified: trunk/reactos/dll/win32/msafd/misc/sndrcv.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msafd/misc/sndrc…
==============================================================================
--- trunk/reactos/dll/win32/msafd/misc/sndrcv.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msafd/misc/sndrcv.c [iso-8859-1] Thu Jul 9 19:55:29 2009
@@ -166,7 +166,7 @@
/* Using Overlapped Structure and a Completition Routine, so use an APC */
APCFunction = NULL; // should be a private io completition function inside us
APCContext = lpCompletionRoutine;
- RecvInfo.AfdFlags = AFD_SKIP_FIO;
+ RecvInfo.AfdFlags |= AFD_SKIP_FIO;
}
IOSB = (PIO_STATUS_BLOCK)&lpOverlapped->Internal;
@@ -318,7 +318,7 @@
/* Using Overlapped Structure and a Completition Routine, so use an APC */
APCFunction = NULL; // should be a private io completition function inside us
APCContext = lpCompletionRoutine;
- RecvInfo.AfdFlags = AFD_SKIP_FIO;
+ RecvInfo.AfdFlags |= AFD_SKIP_FIO;
}
IOSB = (PIO_STATUS_BLOCK)&lpOverlapped->Internal;
@@ -445,7 +445,7 @@
/* Using Overlapped Structure and a Completition Routine, so use an APC */
APCFunction = NULL; // should be a private io completition function inside us
APCContext = lpCompletionRoutine;
- SendInfo.AfdFlags = AFD_SKIP_FIO;
+ SendInfo.AfdFlags |= AFD_SKIP_FIO;
}
IOSB = (PIO_STATUS_BLOCK)&lpOverlapped->Internal;
@@ -577,7 +577,7 @@
/* Using Overlapped Structure and a Completition Routine, so use an APC */
APCFunction = NULL; // should be a private io completition function inside us
APCContext = lpCompletionRoutine;
- SendInfo.AfdFlags = AFD_SKIP_FIO;
+ SendInfo.AfdFlags |= AFD_SKIP_FIO;
}
IOSB = (PIO_STATUS_BLOCK)&lpOverlapped->Internal;