From a58ade18fcf171a5a9ac9252f064d950a24ceb57 Mon Sep 17 00:00:00 2001 From: Robert Lubos Date: Thu, 3 Oct 2024 18:32:13 +0200 Subject: [PATCH] log: net: Fix build warning with IPv6 disabled Building the net logger backend with IPv4 only gives the following warning: log_backend_net.c:116:31: warning: array subscript 'struct sockaddr[0]' is partly outside array bounds of 'struct sockaddr_in[1]' [-Warray-bounds] local_addr->sa_family = server_addr.sa_family; hence assign the address family directly to sockaddr_in/6 structs. Signed-off-by: Robert Lubos --- subsys/logging/backends/log_backend_net.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/subsys/logging/backends/log_backend_net.c b/subsys/logging/backends/log_backend_net.c index 3f49e0a40881c7..f968a6cf4f6b45 100644 --- a/subsys/logging/backends/log_backend_net.c +++ b/subsys/logging/backends/log_backend_net.c @@ -99,12 +99,14 @@ static int do_net_init(struct log_backend_net_ctx *ctx) if (IS_ENABLED(CONFIG_NET_IPV4) && server_addr.sa_family == AF_INET) { local_addr = (struct sockaddr *)&local_addr4; server_addr_len = sizeof(struct sockaddr_in); + local_addr4.sin_family = AF_INET; local_addr4.sin_port = 0U; } if (IS_ENABLED(CONFIG_NET_IPV6) && server_addr.sa_family == AF_INET6) { local_addr = (struct sockaddr *)&local_addr6; server_addr_len = sizeof(struct sockaddr_in6); + local_addr6.sin6_family = AF_INET6; local_addr6.sin6_port = 0U; } @@ -113,8 +115,6 @@ static int do_net_init(struct log_backend_net_ctx *ctx) return -EINVAL; } - local_addr->sa_family = server_addr.sa_family; - if (ctx->is_tcp) { proto = IPPROTO_TCP; type = SOCK_STREAM;