]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
get_random_data() can return NULL (for instance, if we can't open /dev/random
authorJacob Nevins <jacobn@chiark.greenend.org.uk>
Tue, 13 Mar 2007 14:43:14 +0000 (14:43 +0000)
committerJacob Nevins <jacobn@chiark.greenend.org.uk>
Tue, 13 Mar 2007 14:43:14 +0000 (14:43 +0000)
on Unix), yet cmdgen failed to deal with this. Spotted by Darren Tucker.

[originally from svn r7396]

cmdgen.c

index d8d5a946d0ef962384985b186f00ce16dfa4ef63..9aa585f3ffefe032aea8b6b47a374f4dbf15933f 100644 (file)
--- a/cmdgen.c
+++ b/cmdgen.c
@@ -640,6 +640,11 @@ int main(int argc, char **argv)
 
        random_ref();
        entropy = get_random_data(bits / 8);
+       if (!entropy) {
+           fprintf(stderr, "puttygen: failed to collect entropy, "
+                   "could not generate key\n");
+           return 1;
+       }
        random_add_heavynoise(entropy, bits / 8);
        memset(entropy, 0, bits/8);
        sfree(entropy);