diff --git a/ntoskrnl/ex/dbgctrl.c b/ntoskrnl/ex/dbgctrl.c index 048cc0c53e5..1948164397f 100644 --- a/ntoskrnl/ex/dbgctrl.c +++ b/ntoskrnl/ex/dbgctrl.c @@ -291,7 +291,33 @@ NtSystemDebugControl( break; case SysDbgGetAutoKdEnable: + if (OutputBufferLength != sizeof(BOOLEAN)) + { + Status = STATUS_INFO_LENGTH_MISMATCH; + } + else + { + *(PBOOLEAN)OutputBuffer = KdAutoEnableOnEvent; + Status = STATUS_SUCCESS; + } + break; + case SysDbgSetAutoKdEnable: + if (InputBufferLength != sizeof(BOOLEAN)) + { + Status = STATUS_INFO_LENGTH_MISMATCH; + } + else if (KdPitchDebugger) + { + Status = STATUS_ACCESS_DENIED; + } + else + { + KdAutoEnableOnEvent = *(PBOOLEAN)InputBuffer; + Status = STATUS_SUCCESS; + } + break; + case SysDbgGetPrintBufferSize: case SysDbgSetPrintBufferSize: case SysDbgGetKdUmExceptionEnable: