X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=crypt.c;h=b8a587cd0e55114f1ced030d5284adcd2d4a96b4;hp=39fcd7edc136c6b81ef80b5132ea59ddbbeb74b1;hb=ec05ce7931f80398c0d628d93c7892d71094d320;hpb=e5de57de1b8bf1df96c152fc92f5a49f75d6d96c diff --git a/crypt.c b/crypt.c index 39fcd7ed..b8a587cd 100644 --- a/crypt.c +++ b/crypt.c @@ -38,9 +38,9 @@ void get_random_bytes_or_die(unsigned char *buf, int num) } /* - * Read 64 bytes from /dev/urandom and adds them to the SSL PRNG. Seed the PRNG - * used by random() with a random seed obtained from SSL. If /dev/random is not - * readable the function calls exit(). + * Read 64 bytes from /dev/urandom and add them to the SSL PRNG. Seed the PRNG + * used by random(3) with a random seed obtained from SSL. If /dev/urandom is + * not readable, the function calls exit(). * * \sa RAND_load_file(3), \ref get_random_bytes_or_die(), srandom(3), * random(3), \ref para_random(). @@ -154,8 +154,8 @@ int get_public_key(const char *key_file, struct asymmetric_key **result) goto out; ret = is_ssh_rsa_key(map, map_size); if (!ret) { - para_munmap(map, map_size); - return -E_SSH_PARSE; + ret = -E_SSH_PARSE; + goto out_unmap; } cp = map + ret; encoded_size = map_size - ret;