Fix a couple of code paths on which, if fxp_readdir returned an error,
[sgt/putty] / windows / winnoise.c
index 1b1d1f5..affb1a5 100644 (file)
@@ -19,6 +19,7 @@ void noise_get_heavy(void (*func) (void *, int))
 {
     HANDLE srch;
     WIN32_FIND_DATA finddata;
+    DWORD pid;
     char winpath[MAX_PATH + 3];
 
     GetWindowsDirectory(winpath, sizeof(winpath));
@@ -31,6 +32,9 @@ void noise_get_heavy(void (*func) (void *, int))
        FindClose(srch);
     }
 
+    pid = GetCurrentProcessId();
+    func(&pid, sizeof(pid));
+
     read_random_seed(func);
     /* Update the seed immediately, in case another instance uses it. */
     random_save_seed();
@@ -51,7 +55,7 @@ void random_save_seed(void)
 /*
  * This function is called every time the random pool needs
  * stirring, and will acquire the system time in all available
- * forms and the battery status.
+ * forms.
  */
 void noise_get_light(void (*func) (void *, int))
 {