From 1a11702a9a4d5f95c52eb55263008ce2aa8017ef Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 12 Nov 2018 15:39:28 -0500 Subject: [PATCH] Fix a compiler warning in aes.c. Apparently some freebsd compilers can't tell that 'c' will never be used uninitialized. Fixes bug 28413; bugfix on 0.2.9.3-alpha when we added support for longer AES keys to this function. --- changes/bug28413 | 4 ++++ src/common/aes.c | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 changes/bug28413 diff --git a/changes/bug28413 b/changes/bug28413 new file mode 100644 index 0000000000..4c88bea7e7 --- /dev/null +++ b/changes/bug28413 @@ -0,0 +1,4 @@ + o Minor bugfixes (compilation): + - Initialize a variable in aes_new_cipher(), since some compilers + cannot tell that we always initialize it before use. Fixes bug 28413; + bugfix on 0.2.9.3-alpha. diff --git a/src/common/aes.c b/src/common/aes.c index 35c2d1e3a5..8ab2d2fc6e 100644 --- a/src/common/aes.c +++ b/src/common/aes.c @@ -99,12 +99,12 @@ aes_cnt_cipher_t * aes_new_cipher(const uint8_t *key, const uint8_t *iv, int key_bits) { EVP_CIPHER_CTX *cipher = EVP_CIPHER_CTX_new(); - const EVP_CIPHER *c; + const EVP_CIPHER *c = NULL; switch (key_bits) { case 128: c = EVP_aes_128_ctr(); break; case 192: c = EVP_aes_192_ctr(); break; case 256: c = EVP_aes_256_ctr(); break; - default: tor_assert(0); // LCOV_EXCL_LINE + default: tor_assert_unreached(); // LCOV_EXCL_LINE } EVP_EncryptInit(cipher, c, key, iv); return (aes_cnt_cipher_t *) cipher; @@ -402,4 +402,3 @@ aes_set_iv(aes_cnt_cipher_t *cipher, const uint8_t *iv) } #endif -