[tor-commits] [tor/master] Fix a compiler warning in aes.c.

nickm at torproject.org nickm at torproject.org
Tue Nov 13 13:27:48 UTC 2018


commit 1a11702a9a4d5f95c52eb55263008ce2aa8017ef
Author: Nick Mathewson <nickm at torproject.org>
Date:   Mon Nov 12 15:39:28 2018 -0500

    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(-)

diff --git a/changes/bug28413 b/changes/bug28413
new file mode 100644
index 000000000..4c88bea7e
--- /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 35c2d1e3a..8ab2d2fc6 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
-





More information about the tor-commits mailing list