From: cron2 (C. Review) <ge...@op...> - 2025-09-26 17:12:23
|
cron2 has submitted this change. ( http://gerrit.openvpn.net/c/openvpn/+/1221?usp=email ) Change subject: dco_win: In dco_new_key, document size assumptions for the integer casts ...................................................................... dco_win: In dco_new_key, document size assumptions for the integer casts And make all casts explicit so that compiler doesn't complain. Change-Id: I612bf3b1c56d70a89fc04fad6fe36fd9fadfd258 Signed-off-by: Frank Lichtenheld <fr...@li...> Acked-by: MaxF <ma...@ma...> Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1221 Message-Id: <202...@gr...> URL: https://www.mail-archive.com/ope...@li.../msg33229.html Signed-off-by: Gert Doering <ge...@gr...> --- M src/openvpn/dco_win.c 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/openvpn/dco_win.c b/src/openvpn/dco_win.c index 9e52859..7dd43d6 100644 --- a/src/openvpn/dco_win.c +++ b/src/openvpn/dco_win.c @@ -525,11 +525,6 @@ return 0; } -#if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - int dco_new_key(dco_context_t *dco, unsigned int peerid, int keyid, dco_key_slot_t slot, const uint8_t *encrypt_key, const uint8_t *encrypt_iv, const uint8_t *decrypt_key, @@ -540,21 +535,23 @@ const int nonce_len = 8; size_t key_len = cipher_kt_key_size(ciphername); + ASSERT(key_len <= 32); OVPN_CRYPTO_DATA crypto_data; ZeroMemory(&crypto_data, sizeof(crypto_data)); crypto_data.CipherAlg = dco_get_cipher(ciphername); - crypto_data.KeyId = keyid; + ASSERT(keyid > 0 && keyid <= UCHAR_MAX); + crypto_data.KeyId = (unsigned char)keyid; crypto_data.PeerId = peerid; crypto_data.KeySlot = slot; CopyMemory(crypto_data.Encrypt.Key, encrypt_key, key_len); - crypto_data.Encrypt.KeyLen = (char)key_len; + crypto_data.Encrypt.KeyLen = (unsigned char)key_len; CopyMemory(crypto_data.Encrypt.NonceTail, encrypt_iv, nonce_len); CopyMemory(crypto_data.Decrypt.Key, decrypt_key, key_len); - crypto_data.Decrypt.KeyLen = (char)key_len; + crypto_data.Decrypt.KeyLen = (unsigned char)key_len; CopyMemory(crypto_data.Decrypt.NonceTail, decrypt_iv, nonce_len); ASSERT(crypto_data.CipherAlg > 0); @@ -570,10 +567,6 @@ return 0; } -#if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic pop -#endif - int dco_del_key(dco_context_t *dco, unsigned int peerid, dco_key_slot_t slot) { -- To view, visit http://gerrit.openvpn.net/c/openvpn/+/1221?usp=email To unsubscribe, or for help writing mail filters, visit http://gerrit.openvpn.net/settings Gerrit-Project: openvpn Gerrit-Branch: master Gerrit-Change-Id: I612bf3b1c56d70a89fc04fad6fe36fd9fadfd258 Gerrit-Change-Number: 1221 Gerrit-PatchSet: 2 Gerrit-Owner: flichtenheld <fr...@li...> Gerrit-Reviewer: MaxF <ma...@ma...> Gerrit-Reviewer: plaisthos <arn...@rf...> Gerrit-CC: openvpn-devel <ope...@li...> Gerrit-MessageType: merged |