Author: khornicek
Date: Sun Apr  6 17:09:47 2014
New Revision: 62667

URL: http://svn.reactos.org/svn/reactos?rev=62667&view=rev
Log:
[MAIN]
- fix a memory leak
CID #716340

- initialize the new cursor scheme name so it doesn't show garbage in the save 
dialog

The previous commit fixed:
CID #716120
CID #715936 
CID #515183

Modified:
    trunk/reactos/dll/cpl/main/mouse.c

Modified: trunk/reactos/dll/cpl/main/mouse.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/mouse.c?rev=62667&r1=62666&r2=62667&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/mouse.c  [iso-8859-1] (original)
+++ trunk/reactos/dll/cpl/main/mouse.c  [iso-8859-1] Sun Apr  6 17:09:47 2014
@@ -718,6 +718,7 @@
     if (nSel == 0)
     {
         szSchemeName[0] = 0;
+        szNewSchemeName[0] = 0;
     }
     else
     {
@@ -775,6 +776,9 @@
 
     lpSchemeData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, nLength * 
sizeof(TCHAR));
 
+    if(!lpSchemeData)
+        return FALSE;
+
     for (index = IDS_ARROW, i = 0; index <= IDS_HAND; index++, i++)
     {
         CompressPath(szTempPath, g_CursorData[i].szCursorPath);
@@ -784,11 +788,15 @@
     }
 
     if (RegOpenCurrentUser(KEY_READ | KEY_SET_VALUE, &hCuKey) != ERROR_SUCCESS)
+    {
+        HeapFree(GetProcessHeap(), 0, lpSchemeData);
         return FALSE;
+    }
 
     if (RegOpenKeyEx(hCuKey, _T("Control Panel\\Cursors\\Schemes"), 0, 
KEY_READ | KEY_SET_VALUE, &hCuCursorKey) != ERROR_SUCCESS)
     {
         RegCloseKey(hCuKey);
+        HeapFree(GetProcessHeap(), 0, lpSchemeData);
         return FALSE;
     }
 


Reply via email to