Ensure our network layer is properly cleaned up before PuTTY exits.
[u/mdw/putty] / misc.c
diff --git a/misc.c b/misc.c
index cb894b3..ee1abf7 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -408,12 +408,14 @@ void *safemalloc(size_t size)
 #ifdef MALLOC_LOG
        sprintf(str, "Out of memory! (%s:%d, size=%d)",
                mlog_file, mlog_line, size);
+       fprintf(fp, "*** %s\n", str);
+       fclose(fp);
 #else
        strcpy(str, "Out of memory!");
 #endif
        MessageBox(NULL, str, "PuTTY Fatal Error",
                   MB_SYSTEMMODAL | MB_ICONERROR | MB_OK);
-       exit(1);
+       cleanup_exit(1);
     }
 #ifdef MALLOC_LOG
     if (fp)
@@ -443,12 +445,14 @@ void *saferealloc(void *ptr, size_t size)
 #ifdef MALLOC_LOG
        sprintf(str, "Out of memory! (%s:%d, size=%d)",
                mlog_file, mlog_line, size);
+       fprintf(fp, "*** %s\n", str);
+       fclose(fp);
 #else
        strcpy(str, "Out of memory!");
 #endif
        MessageBox(NULL, str, "PuTTY Fatal Error",
                   MB_SYSTEMMODAL | MB_ICONERROR | MB_OK);
-       exit(1);
+       cleanup_exit(1);
     }
 #ifdef MALLOC_LOG
     if (fp)