[PATCH 1/3] kernelbase: Return FALSE in ContinueDebugEvent if status is unknown.
Rémi Bernon
rbernon at codeweavers.com
Fri Jan 31 09:32:17 CST 2020
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
dlls/kernelbase/debug.c | 7 +++++++
dlls/ntdll/tests/exception.c | 1 +
2 files changed, 8 insertions(+)
diff --git a/dlls/kernelbase/debug.c b/dlls/kernelbase/debug.c
index 53b95aa6dda..d99309377f0 100644
--- a/dlls/kernelbase/debug.c
+++ b/dlls/kernelbase/debug.c
@@ -70,6 +70,13 @@ BOOL WINAPI DECLSPEC_HOTPATCH CheckRemoteDebuggerPresent( HANDLE process, BOOL *
BOOL WINAPI DECLSPEC_HOTPATCH ContinueDebugEvent( DWORD pid, DWORD tid, DWORD status )
{
BOOL ret;
+
+ if (status != DBG_EXCEPTION_NOT_HANDLED && status != DBG_CONTINUE)
+ {
+ FIXME("Unknown status %x\n", status);
+ return FALSE;
+ }
+
SERVER_START_REQ( continue_debug_event )
{
req->pid = pid;
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
index e8b481e703f..9cb9fc50d5d 100644
--- a/dlls/ntdll/tests/exception.c
+++ b/dlls/ntdll/tests/exception.c
@@ -999,6 +999,7 @@ static void test_debugger(void)
{
continuestatus = DBG_CONTINUE;
ok(WaitForDebugEvent(&de, INFINITE), "reading debug event\n");
+ ok(!ContinueDebugEvent(de.dwProcessId, de.dwThreadId, 0xdeadbeef), "ContinueDebugEvent unexpectedly succeeded\n");
if (de.dwThreadId != pi.dwThreadId)
{
--
2.25.0
More information about the wine-devel
mailing list