[PATCH] winecfg: Fix crash caused by calling set_reg_key with NULL value

Nigel Liang ncliang at gmail.com
Fri Aug 3 20:34:57 CDT 2007


diff --git a/programs/winecfg/winecfg.c b/programs/winecfg/winecfg.c
index 84dd4c8..05f322c 100644
--- a/programs/winecfg/winecfg.c
+++ b/programs/winecfg/winecfg.c
@@ -468,11 +468,15 @@ void set_reg_key(HKEY root, const char *
 
     wpath = HeapAlloc(GetProcessHeap(), 0, (strlen(path)+1)*sizeof(WCHAR));
     wname = HeapAlloc(GetProcessHeap(), 0, (strlen(name)+1)*sizeof(WCHAR));
-    wvalue = HeapAlloc(GetProcessHeap(), 0, (strlen(value)+1)*sizeof(WCHAR));
 
     MultiByteToWideChar(CP_ACP, 0, path, -1, wpath, strlen(path)+1);
     MultiByteToWideChar(CP_ACP, 0, name, -1, wname, strlen(name)+1);
-    MultiByteToWideChar(CP_ACP, 0, value, -1, wvalue, strlen(value)+1);
+
+    if (value)
+    {
+        wvalue = HeapAlloc(GetProcessHeap(), 0, (strlen(value)+1)*sizeof(WCHAR));
+        MultiByteToWideChar(CP_ACP, 0, value, -1, wvalue, strlen(value)+1);
+    }
 
     set_reg_key_ex(root, wpath, wname, wvalue, REG_SZ);
 
-- 
1.4.1




More information about the wine-patches mailing list