From 2dd31a5f96d92431b5a8b398280dd6826c0c6f80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Tue, 9 Oct 2018 16:55:42 +0000 Subject: [PATCH] Trust compilers and cleanup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Adrien Gallouët --- mud.c | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/mud.c b/mud.c index 59dd931..a99a4fd 100644 --- a/mud.c +++ b/mud.c @@ -173,11 +173,9 @@ static int mud_encrypt_opt(const struct mud_crypto_key *k, const struct mud_crypto_opt *c) { if (k->aes) { - const unsigned char npub[crypto_aead_aes256gcm_NPUBBYTES] = { - [0] = c->dst[0], [1] = c->dst[1], - [2] = c->dst[2], [3] = c->dst[3], - [4] = c->dst[4], [5] = c->dst[5], - }; + unsigned char npub[crypto_aead_aes256gcm_NPUBBYTES] = {0}; + + memcpy(npub, c->dst, MUD_U48_SIZE); return crypto_aead_aes256gcm_encrypt_afternm( c->dst + MUD_U48_SIZE, @@ -191,11 +189,9 @@ mud_encrypt_opt(const struct mud_crypto_key *k, const struct mud_crypto_opt *c) (const crypto_aead_aes256gcm_state *)&k->encrypt.state ); } else { - const unsigned char npub[crypto_aead_chacha20poly1305_NPUBBYTES] = { - [0] = c->dst[0], [1] = c->dst[1], - [2] = c->dst[2], [3] = c->dst[3], - [4] = c->dst[4], [5] = c->dst[5], - }; + unsigned char npub[crypto_aead_chacha20poly1305_NPUBBYTES] = {0}; + + memcpy(npub, c->dst, MUD_U48_SIZE); return crypto_aead_chacha20poly1305_encrypt( c->dst + MUD_U48_SIZE, @@ -215,11 +211,9 @@ static int mud_decrypt_opt(const struct mud_crypto_key *k, const struct mud_crypto_opt *c) { if (k->aes) { - const unsigned char npub[crypto_aead_aes256gcm_NPUBBYTES] = { - [0] = c->src[0], [1] = c->src[1], - [2] = c->src[2], [3] = c->src[3], - [4] = c->src[4], [5] = c->src[5], - }; + unsigned char npub[crypto_aead_aes256gcm_NPUBBYTES] = {0}; + + memcpy(npub, c->src, MUD_U48_SIZE); return crypto_aead_aes256gcm_decrypt_afternm( c->dst, @@ -232,11 +226,9 @@ mud_decrypt_opt(const struct mud_crypto_key *k, const struct mud_crypto_opt *c) (const crypto_aead_aes256gcm_state *)&k->decrypt.state ); } else { - const unsigned char npub[crypto_aead_chacha20poly1305_NPUBBYTES] = { - [0] = c->src[0], [1] = c->src[1], - [2] = c->src[2], [3] = c->src[3], - [4] = c->src[4], [5] = c->src[5], - }; + unsigned char npub[crypto_aead_chacha20poly1305_NPUBBYTES] = {0}; + + memcpy(npub, c->src, MUD_U48_SIZE); return crypto_aead_chacha20poly1305_decrypt( c->dst, @@ -1497,7 +1489,6 @@ mud_send(struct mud *mud, const void *data, size_t size, unsigned tc) k--; } - struct mud_path *path = &mud->paths[mud->map[k % sizeof(mud->map)]]; - - return mud_send_path(mud, path, now, packet, packet_size, tc & 255, 0); + return mud_send_path(mud, &mud->paths[mud->map[k % sizeof(mud->map)]], + now, packet, packet_size, tc & 255, 0); }