- Fix a bug in KiRaiseException from 42923 -- a _SEH2_LEAVE wasn't converted to _SEH2...
[reactos.git] / reactos / ntoskrnl / ke / except.c
index fd4ba95..7a7713b 100644 (file)
@@ -95,7 +95,6 @@ KiRaiseException(IN PEXCEPTION_RECORD ExceptionRecord,
     CONTEXT LocalContext;
     EXCEPTION_RECORD LocalExceptionRecord;
     ULONG ParameterCount, Size;
-    NTSTATUS Status = STATUS_SUCCESS;
 
     /* Check if we need to probe */
     if (PreviousMode != KernelMode)
@@ -117,8 +116,7 @@ KiRaiseException(IN PEXCEPTION_RECORD ExceptionRecord,
                 EXCEPTION_MAXIMUM_PARAMETERS)
             {
                 /* Too large */
-                Status = STATUS_INVALID_PARAMETER;
-                _SEH2_LEAVE;
+                _SEH2_YIELD(return STATUS_INVALID_PARAMETER);
             }
 
             /* Probe the entire parameters now*/
@@ -137,6 +135,8 @@ KiRaiseException(IN PEXCEPTION_RECORD ExceptionRecord,
         }
         _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
         {
+            /* Don't fail silently */
+            DPRINT1("KiRaiseException: Failed to Probe\n");
             DbgBreakPoint();
 
             /* Return the exception code */
@@ -160,8 +160,8 @@ KiRaiseException(IN PEXCEPTION_RECORD ExceptionRecord,
                         PreviousMode,
                         SearchFrames);
 
-    /* Return the status */
-    return Status;
+    /* We are done */
+    return STATUS_SUCCESS;
 }
 
 /* EOF */