[SYSDM]
[reactos.git] / reactos / dll / cpl / sysdm / environment.c
index 9a4b192..7a4fc54 100644 (file)
@@ -9,7 +9,6 @@
 
 #include "precomp.h"
 
-
 typedef struct _VARIABLE_DATA
 {
     DWORD dwType;
@@ -200,7 +199,7 @@ GetEnvironmentVariables(HWND hwndListView,
     lpData = GlobalAlloc(GPTR, (dwMaxValueDataLength + 1) * sizeof(TCHAR));
     if (lpData == NULL)
     {
-        GlobalFree(lpData);
+        GlobalFree(lpName);
         RegCloseKey(hKey);
         return;
     }
@@ -228,6 +227,7 @@ GetEnvironmentVariables(HWND hwndListView,
                          (LPBYTE)lpData,
                          &dwDataLength))
         {
+            GlobalFree(lpExpandData);
             GlobalFree(lpName);
             GlobalFree(lpData);
             RegCloseKey(hKey);
@@ -353,11 +353,11 @@ OnNewVariable(HWND hwndDlg,
 
     VarData = GlobalAlloc(GPTR, sizeof(VARIABLE_DATA));
 
-    if (!DialogBoxParam(hApplet,
-                        MAKEINTRESOURCE(IDD_EDIT_VARIABLE),
-                        hwndDlg,
-                        (DLGPROC)EditVariableDlgProc,
-                        (LPARAM)VarData) > 0)
+    if (DialogBoxParam(hApplet,
+                       MAKEINTRESOURCE(IDD_EDIT_VARIABLE),
+                       hwndDlg,
+                       EditVariableDlgProc,
+                       (LPARAM)VarData) <= 0)
     {
         if (VarData->lpName != NULL)
             GlobalFree(VarData->lpName);
@@ -412,7 +412,7 @@ OnEditVariable(HWND hwndDlg,
             if (DialogBoxParam(hApplet,
                                MAKEINTRESOURCE(IDD_EDIT_VARIABLE),
                                hwndDlg,
-                               (DLGPROC)EditVariableDlgProc,
+                               EditVariableDlgProc,
                                (LPARAM)VarData) > 0)
             {
                 ListView_SetItemText(hwndListView, iItem, 0, VarData->lpName);