From 5ca097c4ebbb85cb35f1b5e6b6ed0b1f2a8a1ff7 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Wed, 2 Nov 2022 13:54:46 +0100 Subject: [PATCH] encrypt: fixed RAND_bytes call currntly it returns 1 on success so not only 0 is success --- src/crypto/openssl_encrypt.cpp | 5 ++++- src/transmit.cpp | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/crypto/openssl_encrypt.cpp b/src/crypto/openssl_encrypt.cpp index b18ea5d83..87e64f176 100644 --- a/src/crypto/openssl_encrypt.cpp +++ b/src/crypto/openssl_encrypt.cpp @@ -51,6 +51,8 @@ #include #include +#define MOD_NAME "[encrypt] " + struct openssl_encrypt { AES_KEY key; @@ -76,8 +78,9 @@ static int openssl_encrypt_init(struct openssl_encrypt **state, const char *pass MD5Final(hash, &context); AES_set_encrypt_key(hash, 128, &s->key); - if (!RAND_bytes(s->ivec, 8)) { + if (RAND_bytes(s->ivec, 8) < 0) { free(s); + log_msg(LOG_LEVEL_ERROR, MOD_NAME "Cannot generate random bytes!\n"); return -1; } s->mode = mode; diff --git a/src/transmit.cpp b/src/transmit.cpp index 8fb4b2b29..f04608b7b 100644 --- a/src/transmit.cpp +++ b/src/transmit.cpp @@ -88,6 +88,7 @@ #include #include +#define MOD_NAME "[transmit] " #define TRANSMIT_MAGIC 0xe80ab15f #define FEC_MAX_MULT 10 @@ -243,7 +244,7 @@ struct tx *tx_init(struct module *parent, unsigned mtu, enum tx_media_type media } if (tx->enc_funcs->init(&tx->encryption, encryption, DEFAULT_CIPHER_MODE) != 0) { - fprintf(stderr, "Unable to initialize encryption\n"); + log_msg(LOG_LEVEL_ERROR, MOD_NAME "Unable to initialize encryption\n"); module_done(&tx->mod); return NULL; }