X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/d7da76caa0881547d3605670e4e1644f92d80ea9..941d39e21d83e4db76f354e6782e24b216027965:/misc.c?ds=sidebyside diff --git a/misc.c b/misc.c index cb894b3e..6f2d5448 100644 --- a/misc.c +++ b/misc.c @@ -294,7 +294,7 @@ static void *minefield_alloc(int size) /* * Update the admin region. */ - for (i = start + 2; i < start + npages - 1; i++) + for (i = start + 2; i < start + npages + 1; i++) minefield_admin[i] = 0xFFFE; /* used but no region starts here */ minefield_admin[start + 1] = region_start % PAGESIZE; @@ -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)