Fix various segfaults and heap trashes. Thanks to Andrew Mobbs.
[u/mdw/putty] / windlg.c
index 58b570f..d15ebb2 100644 (file)
--- a/windlg.c
+++ b/windlg.c
@@ -116,7 +116,6 @@ static void save_settings (char *section, int do_host) {
     
     if (RegCreateKey(HKEY_CURRENT_USER, puttystr, &subkey1)!=ERROR_SUCCESS ||
        RegCreateKey(subkey1, p, &sesskey) != ERROR_SUCCESS) {
-       free(p);
        sesskey = NULL;
     }
 
@@ -221,7 +220,6 @@ static void load_settings (char *section, int do_host) {
     
     if (RegOpenKey(HKEY_CURRENT_USER, puttystr, &subkey1) != ERROR_SUCCESS ||
        RegOpenKey(subkey1, p, &sesskey) != ERROR_SUCCESS) {
-       free(p);
        sesskey = NULL;
     }
 
@@ -367,6 +365,7 @@ static int CALLBACK AboutProc (HWND hwnd, UINT msg,
                               WPARAM wParam, LPARAM lParam) {
     switch (msg) {
       case WM_INITDIALOG:
+        SetDlgItemText (hwnd, IDA_VERSION, ver);
        return 1;
 /*      case WM_CTLCOLORDLG: */
 /*     return (int) GetStockObject (LTGRAY_BRUSH); */