aboutsummaryrefslogtreecommitdiff
path: root/src/server.c
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2018-07-05 10:47:49 +0200
committerAndreas Schneider <asn@cryptomilk.org>2018-07-05 12:12:14 +0200
commitc503bb572eee1a166ce5e631785b7d24e6319605 (patch)
tree6ab8c088fe5f2764fffe91ef9ea9d9640cf63ed1 /src/server.c
parent36a727e656a7fcd91722cf2d050fc87d55410b5b (diff)
downloadlibssh-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.c8
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,