Handle NULL string lparam when translating messages A->W

Richard Cohen richard at daijobu.co.uk
Thu Oct 20 07:01:11 CDT 2005


Fixes 1st part of bug 3486

Richard.


Changelog:
Handle NULL string lparam when translating messages A->W

-------------- next part --------------
Index: dlls/user/winproc.c
===================================================================
RCS file: /home/wine/wine/dlls/user/winproc.c,v
retrieving revision 1.11
diff -u -r1.11 winproc.c
--- dlls/user/winproc.c	19 Oct 2005 18:29:36 -0000	1.11
+++ dlls/user/winproc.c	20 Oct 2005 11:53:13 -0000
@@ -665,9 +665,13 @@
     case LB_ADDFILE:
     case EM_REPLACESEL:
         {
-            DWORD len = MultiByteToWideChar(CP_ACP, 0, (LPCSTR)*plparam, -1, NULL, 0);
-            WCHAR *buf = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
-            len = MultiByteToWideChar(CP_ACP, 0, (LPCSTR)*plparam, -1, buf, len);
+            DWORD len;
+            WCHAR *buf;
+            if (!*plparam) return 0;
+
+            len = MultiByteToWideChar(CP_ACP, 0, (LPCSTR)*plparam, -1, NULL, 0);
+            buf= HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+            MultiByteToWideChar(CP_ACP, 0, (LPCSTR)*plparam, -1, buf, len);
             *plparam = (LPARAM)buf;
             return (*plparam ? 1 : -1);
         }


More information about the wine-patches mailing list