From 4a1b67527862c687f523470bda441a954d00a9af Mon Sep 17 00:00:00 2001 From: Stefano Brivio Date: Mon, 19 Sep 2022 22:15:04 +0200 Subject: conf, tcp, udp: Arrays for ports need 2^16 values, not 2^16-8 Reported by David but also by Coverity (CWE-119): In conf_ports: Out-of-bounds access to a buffer ...not in practice, because the allocation size is rounded up anyway, but not nice either. Reported-by: David Gibson Signed-off-by: Stefano Brivio --- tcp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tcp.h') diff --git a/tcp.h b/tcp.h index 7b720c1..6431b75 100644 --- a/tcp.h +++ b/tcp.h @@ -69,9 +69,9 @@ struct tcp_ctx { uint64_t hash_secret[2]; int conn_count; int splice_conn_count; - uint8_t port_to_tap [USHRT_MAX / 8]; + uint8_t port_to_tap [DIV_ROUND_UP(USHRT_MAX, 8)]; int init_detect_ports; - uint8_t port_to_init [USHRT_MAX / 8]; + uint8_t port_to_init [DIV_ROUND_UP(USHRT_MAX, 8)]; int ns_detect_ports; struct timespec timer_run; #ifdef HAS_SND_WND -- cgit v1.2.3