Module: wine Branch: master Commit: 9b9fef2e112ff2ce0e1ce2da3aaacd2ffefa6d87 URL: https://gitlab.winehq.org/wine/wine/-/commit/9b9fef2e112ff2ce0e1ce2da3aaacd2...
Author: Zhiyi Zhang zzhang@codeweavers.com Date: Tue Aug 16 11:25:46 2022 +0800
comctl32: Check reference data pointer before using it.
Fix the crash when opening notepad++ v8.4.4 preference dialog before e52e42b.
---
dlls/comctl32/commctrl.c | 3 ++- dlls/comctl32/tests/subclass.c | 4 ---- 2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/dlls/comctl32/commctrl.c b/dlls/comctl32/commctrl.c index 57863928fc7..14b148d591d 100644 --- a/dlls/comctl32/commctrl.c +++ b/dlls/comctl32/commctrl.c @@ -1179,7 +1179,8 @@ BOOL WINAPI GetWindowSubclass (HWND hWnd, SUBCLASSPROC pfnSubclass, while (proc) { if ((proc->id == uID) && (proc->subproc == pfnSubclass)) { - *pdwRef = proc->ref; + if (pdwRef) + *pdwRef = proc->ref; return TRUE; } proc = proc->next; diff --git a/dlls/comctl32/tests/subclass.c b/dlls/comctl32/tests/subclass.c index b7b4dd0508d..9f1955c4258 100644 --- a/dlls/comctl32/tests/subclass.c +++ b/dlls/comctl32/tests/subclass.c @@ -371,12 +371,8 @@ static void test_GetWindowSubclass(void) todo_wine ok(data == 0, "Got unexpected data %#Ix.\n", data);
- /* Crash on Wine */ - if (strcmp(winetest_platform, "wine")) - { ret = pGetWindowSubclass(hwnd, wnd_proc_sub, 2, NULL); ok(ret, "GetWindowSubclass failed.\n"); - }
data = 0xdeadbeef; ret = pGetWindowSubclass(hwnd, wnd_proc_sub, 2, &data);