diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2018-07-05 10:47:49 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2018-07-05 12:12:14 +0200 |
commit | c503bb572eee1a166ce5e631785b7d24e6319605 (patch) | |
tree | 6ab8c088fe5f2764fffe91ef9ea9d9640cf63ed1 /src/server.c | |
parent | 36a727e656a7fcd91722cf2d050fc87d55410b5b (diff) | |
download | libssh-c503bb572eee1a166ce5e631785b7d24e6319605.tar.gz libssh-c503bb572eee1a166ce5e631785b7d24e6319605.tar.xz libssh-c503bb572eee1a166ce5e631785b7d24e6319605.zip |
crytpo: Make sure we check return of ssh_get_random() correctly
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src/server.c')
-rw-r--r-- | src/server.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/server.c b/src/server.c index 62c73eeb..1e1ef8e7 100644 --- a/src/server.c +++ b/src/server.c @@ -90,9 +90,15 @@ static int server_set_kex(ssh_session session) { char hostkeys[64] = {0}; enum ssh_keytypes_e keytype; size_t len; + int ok; ZERO_STRUCTP(server); - ssh_get_random(server->cookie, 16, 0); + + ok = ssh_get_random(server->cookie, 16, 0); + if (!ok) { + ssh_set_error(session, SSH_FATAL, "PRNG error"); + return -1; + } if (session->srv.ed25519_key != NULL) { snprintf(hostkeys, |