From 1788de0cc13f4fe451ee6ae2e138533c0eea3dde Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 16 Sep 2014 16:26:31 +0200 Subject: More fixes for zero-length VLAs --- src/methods/cipher_test/cipher_test.c | 4 ++-- src/protocols/ec25519_fhmqvc/handshake.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/methods/cipher_test/cipher_test.c b/src/methods/cipher_test/cipher_test.c index 34f0f13..e07ab9b 100644 --- a/src/methods/cipher_test/cipher_test.c +++ b/src/methods/cipher_test/cipher_test.c @@ -139,7 +139,7 @@ static bool method_encrypt(UNUSED fastd_peer_t *peer, fastd_method_session_state if (tail_len) memset(in.data+in.len, 0, tail_len); - uint8_t nonce[session->method->cipher_info->iv_length] __attribute__((aligned(8))); + uint8_t nonce[session->method->cipher_info->iv_length ?: 1] __attribute__((aligned(8))); fastd_method_expand_nonce(nonce, session->common.send_nonce, sizeof(nonce)); int n_blocks = block_count(in.len, sizeof(fastd_block128_t)); @@ -179,7 +179,7 @@ static bool method_decrypt(fastd_peer_t *peer, fastd_method_session_state_t *ses if (flags) return false; - uint8_t nonce[session->method->cipher_info->iv_length] __attribute__((aligned(8))); + uint8_t nonce[session->method->cipher_info->iv_length ?: 1] __attribute__((aligned(8))); fastd_method_expand_nonce(nonce, in_nonce, sizeof(nonce)); size_t tail_len = alignto(in.len, sizeof(fastd_block128_t))-in.len; diff --git a/src/protocols/ec25519_fhmqvc/handshake.c b/src/protocols/ec25519_fhmqvc/handshake.c index 54c9f02..50fc594 100644 --- a/src/protocols/ec25519_fhmqvc/handshake.c +++ b/src/protocols/ec25519_fhmqvc/handshake.c @@ -127,7 +127,7 @@ static inline bool new_session(fastd_peer_t *peer, const fastd_method_info_t *me if (salt) { size_t blocks = block_count(method->provider->key_length(method->method), sizeof(fastd_sha256_t)); - fastd_sha256_t secret[blocks]; + fastd_sha256_t secret[blocks ?: 1]; derive_key(secret, blocks, salt, method->name, A, B, X, Y, sigma); peer->protocol_state->session.method_state = method->provider->session_init(method->method, (const uint8_t *)secret, initiator); -- cgit v1.2.3