[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-devel
Subject: [PATCH 1/3] kernelbase: Return FALSE in ContinueDebugEvent if status is unknown.
From: Rémi Bernon <rbernon () codeweavers ! com>
Date: 2020-01-31 15:32:17
Message-ID: 20200131153219.702064-1-rbernon () codeweavers ! com
[Download RAW message or body]
Signed-off-by: Rémi Bernon <rbernon@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
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic