Zhiyi Zhang : comctl32: Check reference data pointer before using it.

Alexandre Julliard julliard at winehq.org
Tue Aug 16 16:00:59 CDT 2022


Module: wine
Branch: master
Commit: 9b9fef2e112ff2ce0e1ce2da3aaacd2ffefa6d87
URL:    https://gitlab.winehq.org/wine/wine/-/commit/9b9fef2e112ff2ce0e1ce2da3aaacd2ffefa6d87

Author: Zhiyi Zhang <zzhang at 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);




More information about the wine-cvs mailing list