]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - noise.c
Improved robustness in random seed file handling.
[PuTTY.git] / noise.c
diff --git a/noise.c b/noise.c
index a094d25e4dcc03ca9b43341e9e594fef6b21f28f..8ae0f98726b649ab8bece4c96c58fa0ec84693a5 100644 (file)
--- a/noise.c
+++ b/noise.c
@@ -40,6 +40,8 @@ void noise_get_heavy(void (*func) (void *, int))
     }
 
     read_random_seed(func);
+    /* Update the seed immediately, in case another instance uses it. */
+    random_save_seed();
 
     gsps = NULL;
     mod = GetModuleHandle("KERNEL32");
@@ -56,6 +58,7 @@ void random_save_seed(void)
     if (random_active) {
        random_get_savedata(&data, &len);
        write_random_seed(data, len);
+       sfree(data);
     }
 }