From 424d5967e94f6adf4c0669d390779af8da0bef20 Mon Sep 17 00:00:00 2001 From: Lee Duncan Date: Sat, 18 Sep 2021 16:10:50 -0700 Subject: Fix compiler error introduced with recent IPv6 commit. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit 76350316de38 ("Handle IPv6 interfaces correctly.") added a string copy that creates this gcc-11 error message: > gcc-11 -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod -c -o idbm.o idbm.c > idbm.c: In function ‘_idbm_node_rec_link’: > idbm.c:999:17: error: ‘strncpy’ specified bound 65 equals destination size [-Werror=stringop-truncation] > 999 | strncpy((*node).iface.name, iface_name, ISCSI_MAX_IFACE_LEN); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ So copy one less character, maximum. --- libopeniscsiusr/idbm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libopeniscsiusr/idbm.c b/libopeniscsiusr/idbm.c index b2524ed..6f57e45 100644 --- a/libopeniscsiusr/idbm.c +++ b/libopeniscsiusr/idbm.c @@ -996,7 +996,7 @@ static void _idbm_node_rec_link(struct iscsi_node *node, struct idbm_rec *recs, /* use the interface name passed in, if any */ if (iface_name) - strncpy((*node).iface.name, iface_name, ISCSI_MAX_IFACE_LEN); + strncpy((*node).iface.name, iface_name, ISCSI_MAX_IFACE_LEN-1); /* * Note: because we do not add the iface.iscsi_ifacename to -- cgit v1.2.1