From cc282e56e8b0e9f1a55e3644dbfe4631466e139c Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Wed, 19 Mar 2025 15:21:40 +0200 Subject: [PATCH] net: mdns_responder: Use memcpy instead of strncpy for iface name Following warning is printed if using strncpy(), so use memcpy() instead. Note that this is false positive as there is no error here but in order to avoid the warning, change the copy function. subsys/net/lib/dns/mdns_responder.c:1371:25: warning: 'strncpy' output may be truncated copying 7 bytes from a string of length 8 [-Wstringop-truncation] 1468 | strncpy(if_req.ifr_name, name, sizeof(if_req.ifr_name) - 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ subsys/net/lib/dns/mdns_responder.c:1468:25: warning: 'strncpy' output may be truncated copying 7 bytes from a string of length 8 [-Wstringop-truncation] 1468 | strncpy(if_req.ifr_name, name, sizeof(if_req.ifr_name) - 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Jukka Rissanen --- subsys/net/lib/dns/mdns_responder.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/subsys/net/lib/dns/mdns_responder.c b/subsys/net/lib/dns/mdns_responder.c index 9f8a91824a6..ff7d148afdb 100644 --- a/subsys/net/lib/dns/mdns_responder.c +++ b/subsys/net/lib/dns/mdns_responder.c @@ -1368,7 +1368,8 @@ static int init_listener(void) ifindex, ret); } else { memset(&if_req, 0, sizeof(if_req)); - strncpy(if_req.ifr_name, name, sizeof(if_req.ifr_name) - 1); + memcpy(if_req.ifr_name, name, + MIN(sizeof(name) - 1, sizeof(if_req.ifr_name) - 1)); ret = zsock_setsockopt(v6, SOL_SOCKET, SO_BINDTODEVICE, &if_req, sizeof(if_req)); @@ -1464,7 +1465,8 @@ static int init_listener(void) ifindex, ret); } else { memset(&if_req, 0, sizeof(if_req)); - strncpy(if_req.ifr_name, name, sizeof(if_req.ifr_name) - 1); + memcpy(if_req.ifr_name, name, + MIN(sizeof(name) - 1, sizeof(if_req.ifr_name) - 1)); ret = zsock_setsockopt(v4, SOL_SOCKET, SO_BINDTODEVICE, &if_req, sizeof(if_req));