File 0660-crypto-Fix-CodeChecker-Medium-severity-warnings.patch of Package erlang

From 1699ed367bf3bd8b85a3317ae61dc7c86c71f7f6 Mon Sep 17 00:00:00 2001
From: Hans Nilsson <hans@erlang.org>
Date: Wed, 30 Sep 2020 18:57:04 +0200
Subject: [PATCH 2/2] crypto: Fix CodeChecker 'Medium severity' warnings

---
 lib/crypto/c_src/cipher.c | 82 ++++++++++++++++++++-------------------
 1 file changed, 42 insertions(+), 40 deletions(-)

diff --git a/lib/crypto/c_src/cipher.c b/lib/crypto/c_src/cipher.c
index 3db2258d5e..f9fac1761a 100644
--- a/lib/crypto/c_src/cipher.c
+++ b/lib/crypto/c_src/cipher.c
@@ -26,72 +26,74 @@
 #define COND_NO_DES_PTR(Ptr) (NULL)
 #endif
 
+#define NOT_AEAD {{0,0,0}}
+
 static struct cipher_type_t cipher_types[] =
 {
 #ifdef HAVE_RC2
-    {{"rc2_cbc"}, {&EVP_rc2_cbc}, 0, NO_FIPS_CIPHER},
+    {{"rc2_cbc"}, {&EVP_rc2_cbc}, 0, NO_FIPS_CIPHER, NOT_AEAD},
 #else
-    {{"rc2_cbc"}, {NULL}, 0, NO_FIPS_CIPHER},
+    {{"rc2_cbc"}, {NULL}, 0, NO_FIPS_CIPHER, NOT_AEAD},
 #endif
 #ifdef HAVE_RC4
-    {{"rc4"},     {&EVP_rc4}, 0, NO_FIPS_CIPHER},
+    {{"rc4"},     {&EVP_rc4}, 0, NO_FIPS_CIPHER, NOT_AEAD},
 #else
-    {{"rc4"},     {NULL}, 0, NO_FIPS_CIPHER},
+    {{"rc4"},     {NULL}, 0, NO_FIPS_CIPHER, NOT_AEAD},
 #endif
-    {{"des_cbc"}, {COND_NO_DES_PTR(&EVP_des_cbc)}, 0, NO_FIPS_CIPHER},
-    {{"des_cfb"}, {COND_NO_DES_PTR(&EVP_des_cfb8)}, 0, NO_FIPS_CIPHER},
-    {{"des_ecb"}, {COND_NO_DES_PTR(&EVP_des_ecb)}, 0, NO_FIPS_CIPHER | ECB_BUG_0_9_8L},
+    {{"des_cbc"}, {COND_NO_DES_PTR(&EVP_des_cbc)}, 0, NO_FIPS_CIPHER, NOT_AEAD},
+    {{"des_cfb"}, {COND_NO_DES_PTR(&EVP_des_cfb8)}, 0, NO_FIPS_CIPHER, NOT_AEAD},
+    {{"des_ecb"}, {COND_NO_DES_PTR(&EVP_des_ecb)}, 0, NO_FIPS_CIPHER | ECB_BUG_0_9_8L, NOT_AEAD},
 
-    {{"des_ede3_cbc"}, {COND_NO_DES_PTR(&EVP_des_ede3_cbc)}, 0, 0},
+    {{"des_ede3_cbc"}, {COND_NO_DES_PTR(&EVP_des_ede3_cbc)}, 0, 0, NOT_AEAD},
 
 #ifdef HAVE_DES_ede3_cfb_encrypt
-    {{"des_ede3_cfb"}, {COND_NO_DES_PTR(&EVP_des_ede3_cfb8)}, 0, 0},
+    {{"des_ede3_cfb"}, {COND_NO_DES_PTR(&EVP_des_ede3_cfb8)}, 0, 0, NOT_AEAD},
 #else
-    {{"des_ede3_cfb"}, {NULL}, 0, 0},
+    {{"des_ede3_cfb"}, {NULL}, 0, 0, NOT_AEAD},
 #endif
 
 #ifdef HAVE_BF
-    {{"blowfish_cbc"}, {&EVP_bf_cbc}, 0, NO_FIPS_CIPHER},
-    {{"blowfish_cfb64"}, {&EVP_bf_cfb64}, 0, NO_FIPS_CIPHER},
-    {{"blowfish_ofb64"}, {&EVP_bf_ofb}, 0, NO_FIPS_CIPHER},
-    {{"blowfish_ecb"}, {&EVP_bf_ecb}, 0, NO_FIPS_CIPHER | ECB_BUG_0_9_8L},
+    {{"blowfish_cbc"}, {&EVP_bf_cbc}, 0, NO_FIPS_CIPHER, NOT_AEAD},
+    {{"blowfish_cfb64"}, {&EVP_bf_cfb64}, 0, NO_FIPS_CIPHER, NOT_AEAD},
+    {{"blowfish_ofb64"}, {&EVP_bf_ofb}, 0, NO_FIPS_CIPHER, NOT_AEAD},
+    {{"blowfish_ecb"}, {&EVP_bf_ecb}, 0, NO_FIPS_CIPHER | ECB_BUG_0_9_8L, NOT_AEAD},
 #else
-    {{"blowfish_cbc"}, {NULL}, 0, 0},
-    {{"blowfish_cfb64"}, {NULL}, 0, 0},
-    {{"blowfish_ofb64"}, {NULL}, 0, 0},
-    {{"blowfish_ecb"}, {NULL}, 0, 0},
+    {{"blowfish_cbc"}, {NULL}, 0, 0, NOT_AEAD},
+    {{"blowfish_cfb64"}, {NULL}, 0, 0, NOT_AEAD},
+    {{"blowfish_ofb64"}, {NULL}, 0, 0, NOT_AEAD},
+    {{"blowfish_ecb"}, {NULL}, 0, 0, NOT_AEAD},
 #endif
 
-    {{"aes_128_cbc"}, {&EVP_aes_128_cbc}, 16, 0},
-    {{"aes_192_cbc"}, {&EVP_aes_192_cbc}, 24, 0},
-    {{"aes_256_cbc"}, {&EVP_aes_256_cbc}, 32, 0},
+    {{"aes_128_cbc"}, {&EVP_aes_128_cbc}, 16, 0, NOT_AEAD},
+    {{"aes_192_cbc"}, {&EVP_aes_192_cbc}, 24, 0, NOT_AEAD},
+    {{"aes_256_cbc"}, {&EVP_aes_256_cbc}, 32, 0, NOT_AEAD},
 
-    {{"aes_128_cfb8"}, {&EVP_aes_128_cfb8}, 16, AES_CFBx},
-    {{"aes_192_cfb8"}, {&EVP_aes_192_cfb8}, 24, AES_CFBx},
-    {{"aes_256_cfb8"}, {&EVP_aes_256_cfb8}, 32, AES_CFBx},
+    {{"aes_128_cfb8"}, {&EVP_aes_128_cfb8}, 16, AES_CFBx, NOT_AEAD},
+    {{"aes_192_cfb8"}, {&EVP_aes_192_cfb8}, 24, AES_CFBx, NOT_AEAD},
+    {{"aes_256_cfb8"}, {&EVP_aes_256_cfb8}, 32, AES_CFBx, NOT_AEAD},
 
-    {{"aes_128_cfb128"}, {&EVP_aes_128_cfb128}, 16, AES_CFBx},
-    {{"aes_192_cfb128"}, {&EVP_aes_192_cfb128}, 24, AES_CFBx},
-    {{"aes_256_cfb128"}, {&EVP_aes_256_cfb128}, 32, AES_CFBx},
+    {{"aes_128_cfb128"}, {&EVP_aes_128_cfb128}, 16, AES_CFBx, NOT_AEAD},
+    {{"aes_192_cfb128"}, {&EVP_aes_192_cfb128}, 24, AES_CFBx, NOT_AEAD},
+    {{"aes_256_cfb128"}, {&EVP_aes_256_cfb128}, 32, AES_CFBx, NOT_AEAD},
 
-    {{"aes_128_ecb"}, {&EVP_aes_128_ecb}, 16, ECB_BUG_0_9_8L},
-    {{"aes_192_ecb"}, {&EVP_aes_192_ecb}, 24, ECB_BUG_0_9_8L},
-    {{"aes_256_ecb"}, {&EVP_aes_256_ecb}, 32, ECB_BUG_0_9_8L},
+    {{"aes_128_ecb"}, {&EVP_aes_128_ecb}, 16, ECB_BUG_0_9_8L, NOT_AEAD},
+    {{"aes_192_ecb"}, {&EVP_aes_192_ecb}, 24, ECB_BUG_0_9_8L, NOT_AEAD},
+    {{"aes_256_ecb"}, {&EVP_aes_256_ecb}, 32, ECB_BUG_0_9_8L, NOT_AEAD},
 
 #if defined(HAVE_EVP_AES_CTR)
-    {{"aes_128_ctr"}, {&EVP_aes_128_ctr}, 16, 0},
-    {{"aes_192_ctr"}, {&EVP_aes_192_ctr}, 24, 0},
-    {{"aes_256_ctr"}, {&EVP_aes_256_ctr}, 32, 0},
+    {{"aes_128_ctr"}, {&EVP_aes_128_ctr}, 16, 0, NOT_AEAD},
+    {{"aes_192_ctr"}, {&EVP_aes_192_ctr}, 24, 0, NOT_AEAD},
+    {{"aes_256_ctr"}, {&EVP_aes_256_ctr}, 32, 0, NOT_AEAD},
 #else
-    {{"aes_128_ctr"}, {NULL}, 16, AES_CTR_COMPAT},
-    {{"aes_192_ctr"}, {NULL}, 24, AES_CTR_COMPAT},
-    {{"aes_256_ctr"}, {NULL}, 32, AES_CTR_COMPAT},
+    {{"aes_128_ctr"}, {NULL}, 16, AES_CTR_COMPAT, NOT_AEAD},
+    {{"aes_192_ctr"}, {NULL}, 24, AES_CTR_COMPAT, NOT_AEAD},
+    {{"aes_256_ctr"}, {NULL}, 32, AES_CTR_COMPAT, NOT_AEAD},
 #endif
 
 #if defined(HAVE_CHACHA20)
-    {{"chacha20"}, {&EVP_chacha20}, 32, NO_FIPS_CIPHER},
+    {{"chacha20"}, {&EVP_chacha20}, 32, NO_FIPS_CIPHER, NOT_AEAD},
 #else
-    {{"chacha20"}, {NULL}, 0, NO_FIPS_CIPHER},
+    {{"chacha20"}, {NULL}, 0, NO_FIPS_CIPHER, NOT_AEAD},
 #endif
 
     /*==== AEAD ciphers ====*/
@@ -123,12 +125,12 @@ static struct cipher_type_t cipher_types[] =
 
     /*==== Specialy handled ciphers, only for inclusion in algorithm's list ====*/
 #ifdef HAVE_AES_IGE
-    {{"aes_ige256"}, {NULL}, 0, NO_FIPS_CIPHER | NON_EVP_CIPHER},
+    {{"aes_ige256"}, {NULL}, 0, NO_FIPS_CIPHER | NON_EVP_CIPHER, NOT_AEAD},
 #endif
 
     /*==== End of list ==== */
 
-    {{NULL},{NULL},0,0}
+    {{NULL},{NULL},0,0,NOT_AEAD}
 };
 
 ErlNifResourceType* evp_cipher_ctx_rtype;
-- 
2.26.2

openSUSE Build Service is sponsored by