From d2f8d0920226e4d8edd3efa3c18b46b783aacea0 Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Sun, 23 Sep 2018 15:21:26 +0200 Subject: [PATCH] Check the return values from BN_hex2bn() and RAND_load_file(). Closes #205 on GitHub. Closes #206 on GitHub. --- src/tincd.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/tincd.c b/src/tincd.c index bc04f5f2..9253d9f2 100644 --- a/src/tincd.c +++ b/src/tincd.c @@ -434,7 +434,10 @@ static bool keygen(int bits) { BN_GENCB_set(cb, indicator, NULL); rsa_key = RSA_new(); - BN_hex2bn(&e, "10001"); + + if(BN_hex2bn(&e, "10001") == 0) { + abort(); + } if(!rsa_key || !e) { abort(); @@ -698,7 +701,10 @@ int main(int argc, char **argv) { /* Slllluuuuuuurrrrp! */ - RAND_load_file("/dev/urandom", 1024); + if(RAND_load_file("/dev/urandom", 1024) != 1024) { + logger(LOG_ERR, "Error initializing RNG!"); + return 1; + } ENGINE_load_builtin_engines(); ENGINE_register_all_complete(); -- 2.20.1