From e45fadffb1abf50ce8d9b79246ba0cd7298df8c9 Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Thu, 3 Jan 2019 22:44:58 +0100 Subject: [PATCH] Add comments, avoid implicit array initialization --- src/libsodium/crypto_core/ed25519/core_ed25519.c | 13 +++++++++---- .../crypto_generichash/blake2b/ref/blake2b-ref.c | 4 ++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/libsodium/crypto_core/ed25519/core_ed25519.c b/src/libsodium/crypto_core/ed25519/core_ed25519.c index e9027e5d..3169ff35 100644 --- a/src/libsodium/crypto_core/ed25519/core_ed25519.c +++ b/src/libsodium/crypto_core/ed25519/core_ed25519.c @@ -98,11 +98,13 @@ static const unsigned char L[] = { void crypto_core_ed25519_scalar_negate(unsigned char *neg, const unsigned char *s) { - unsigned char t_[crypto_core_ed25519_NONREDUCEDSCALARBYTES] = { 0U }; - unsigned char s_[crypto_core_ed25519_NONREDUCEDSCALARBYTES] = { 0U }; + unsigned char t_[crypto_core_ed25519_NONREDUCEDSCALARBYTES]; + unsigned char s_[crypto_core_ed25519_NONREDUCEDSCALARBYTES]; COMPILER_ASSERT(crypto_core_ed25519_NONREDUCEDSCALARBYTES >= 2 * crypto_core_ed25519_SCALARBYTES); + memset(t_, 0, sizeof t_); + memset(s_, 0, sizeof s_); memcpy(t_ + crypto_core_ed25519_SCALARBYTES, L, crypto_core_ed25519_SCALARBYTES); memcpy(s_, s, crypto_core_ed25519_SCALARBYTES); @@ -115,11 +117,14 @@ void crypto_core_ed25519_scalar_complement(unsigned char *comp, const unsigned char *s) { - unsigned char t_[crypto_core_ed25519_NONREDUCEDSCALARBYTES] = { 1U }; - unsigned char s_[crypto_core_ed25519_NONREDUCEDSCALARBYTES] = { 0U }; + unsigned char t_[crypto_core_ed25519_NONREDUCEDSCALARBYTES]; + unsigned char s_[crypto_core_ed25519_NONREDUCEDSCALARBYTES]; COMPILER_ASSERT(crypto_core_ed25519_NONREDUCEDSCALARBYTES >= 2 * crypto_core_ed25519_SCALARBYTES); + memset(t_, 0, sizeof t_); + memset(s_, 0, sizeof s_); + t_[0]++; memcpy(t_ + crypto_core_ed25519_SCALARBYTES, L, crypto_core_ed25519_SCALARBYTES); memcpy(s_, s, crypto_core_ed25519_SCALARBYTES); diff --git a/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c b/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c index 152770e8..4f56b793 100644 --- a/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c +++ b/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c @@ -184,7 +184,7 @@ blake2b_init_key(blake2b_state *S, const uint8_t outlen, const void *key, sodium_misuse(); } if (!key || !keylen || keylen > BLAKE2B_KEYBYTES) { - sodium_misuse(); + sodium_misuse(); /* does not return */ } P->digest_length = outlen; P->key_length = keylen; @@ -222,7 +222,7 @@ blake2b_init_key_salt_personal(blake2b_state *S, const uint8_t outlen, sodium_misuse(); } if (!key || !keylen || keylen > BLAKE2B_KEYBYTES) { - sodium_misuse(); + sodium_misuse(); /* does not return */ } P->digest_length = outlen; P->key_length = keylen;