open-iscsi/0010-Buffer-not-null-terminated-Calling-strncpy.patch
2020-05-12 17:27:41 +08:00

44 lines
1.5 KiB
Diff

From aa0e934c3513ca8fac9de463e328b5a150d057f5 Mon Sep 17 00:00:00 2001
From: Chris Leech <cleech@redhat.com>
Date: Wed, 30 Oct 2019 12:10:27 -0700
Subject: [PATCH 25/43] Buffer not null terminated: Calling strncpy with a
maximum size argument on destination array
---
usr/iscsi_net_util.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/usr/iscsi_net_util.c b/usr/iscsi_net_util.c
index a32b49c..56d2f69 100644
--- a/usr/iscsi_net_util.c
+++ b/usr/iscsi_net_util.c
@@ -193,7 +193,7 @@ static char *find_vlan_dev(char *netdev, int vlan_id) {
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
- strncpy(if_hwaddr.ifr_name, netdev, IFNAMSIZ);
+ strlcpy(if_hwaddr.ifr_name, netdev, IFNAMSIZ);
ioctl(sockfd, SIOCGIFHWADDR, &if_hwaddr);
if (if_hwaddr.ifr_hwaddr.sa_family != ARPHRD_ETHER)
@@ -201,14 +201,14 @@ static char *find_vlan_dev(char *netdev, int vlan_id) {
ifni = if_nameindex();
for (i = 0; ifni[i].if_index && ifni[i].if_name; i++) {
- strncpy(vlan_hwaddr.ifr_name, ifni[i].if_name, IFNAMSIZ);
+ strlcpy(vlan_hwaddr.ifr_name, ifni[i].if_name, IFNAMSIZ);
ioctl(sockfd, SIOCGIFHWADDR, &vlan_hwaddr);
if (vlan_hwaddr.ifr_hwaddr.sa_family != ARPHRD_ETHER)
continue;
if (!memcmp(if_hwaddr.ifr_hwaddr.sa_data, vlan_hwaddr.ifr_hwaddr.sa_data, ETH_ALEN)) {
- strncpy(vlanrq.device1, ifni[i].if_name, IFNAMSIZ);
+ strlcpy(vlanrq.device1, ifni[i].if_name, IFNAMSIZ);
rc = ioctl(sockfd, SIOCGIFVLAN, &vlanrq);
if ((rc == 0) && (vlanrq.u.VID == vlan_id)) {
vlan = strdup(vlanrq.device1);
--
2.21.0