From: Guus Sliepen Date: Sun, 23 Sep 2018 13:21:26 +0000 (+0200) Subject: Check the return values from BN_hex2bn() and RAND_load_file(). X-Git-Tag: release-1.0.35~9 X-Git-Url: https://tinc-vpn.org/git/browse?a=commitdiff_plain;h=d2f8d0920226e4d8edd3efa3c18b46b783aacea0;p=tinc Check the return values from BN_hex2bn() and RAND_load_file(). Closes #205 on GitHub. Closes #206 on GitHub. --- 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();