aboutsummaryrefslogtreecommitdiff
path: root/networking/libiproute/iplink.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/libiproute/iplink.c')
-rw-r--r--networking/libiproute/iplink.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/networking/libiproute/iplink.c b/networking/libiproute/iplink.c
index f79dab402..1ea11f60b 100644
--- a/networking/libiproute/iplink.c
+++ b/networking/libiproute/iplink.c
@@ -61,7 +61,7 @@ static int do_chflags(char *dev, __u32 flags, __u32 mask)
61 int fd; 61 int fd;
62 int err; 62 int err;
63 63
64 strcpy(ifr.ifr_name, dev); 64 strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));
65 fd = get_ctl_fd(); 65 fd = get_ctl_fd();
66 if (fd < 0) 66 if (fd < 0)
67 return -1; 67 return -1;
@@ -88,8 +88,8 @@ static int do_changename(char *dev, char *newdev)
88 int fd; 88 int fd;
89 int err; 89 int err;
90 90
91 strcpy(ifr.ifr_name, dev); 91 strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));
92 strcpy(ifr.ifr_newname, newdev); 92 strncpy(ifr.ifr_newname, newdev, sizeof(ifr.ifr_newname));
93 fd = get_ctl_fd(); 93 fd = get_ctl_fd();
94 if (fd < 0) 94 if (fd < 0)
95 return -1; 95 return -1;
@@ -113,7 +113,7 @@ static int set_qlen(char *dev, int qlen)
113 return -1; 113 return -1;
114 114
115 memset(&ifr, 0, sizeof(ifr)); 115 memset(&ifr, 0, sizeof(ifr));
116 strcpy(ifr.ifr_name, dev); 116 strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));
117 ifr.ifr_qlen = qlen; 117 ifr.ifr_qlen = qlen;
118 if (ioctl(s, SIOCSIFTXQLEN, &ifr) < 0) { 118 if (ioctl(s, SIOCSIFTXQLEN, &ifr) < 0) {
119 perror("SIOCSIFXQLEN"); 119 perror("SIOCSIFXQLEN");
@@ -135,7 +135,7 @@ static int set_mtu(char *dev, int mtu)
135 return -1; 135 return -1;
136 136
137 memset(&ifr, 0, sizeof(ifr)); 137 memset(&ifr, 0, sizeof(ifr));
138 strcpy(ifr.ifr_name, dev); 138 strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));
139 ifr.ifr_mtu = mtu; 139 ifr.ifr_mtu = mtu;
140 if (ioctl(s, SIOCSIFMTU, &ifr) < 0) { 140 if (ioctl(s, SIOCSIFMTU, &ifr) < 0) {
141 perror("SIOCSIFMTU"); 141 perror("SIOCSIFMTU");
@@ -161,7 +161,7 @@ static int get_address(char *dev, int *htype)
161 } 161 }
162 162
163 memset(&ifr, 0, sizeof(ifr)); 163 memset(&ifr, 0, sizeof(ifr));
164 strcpy(ifr.ifr_name, dev); 164 strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));
165 if (ioctl(s, SIOCGIFINDEX, &ifr) < 0) { 165 if (ioctl(s, SIOCGIFINDEX, &ifr) < 0) {
166 perror("SIOCGIFINDEX"); 166 perror("SIOCGIFINDEX");
167 close(s); 167 close(s);
@@ -194,7 +194,7 @@ static int parse_address(char *dev, int hatype, int halen, char *lla, struct ifr
194 int alen; 194 int alen;
195 195
196 memset(ifr, 0, sizeof(*ifr)); 196 memset(ifr, 0, sizeof(*ifr));
197 strcpy(ifr->ifr_name, dev); 197 strncpy(ifr->ifr_name, dev, sizeof(ifr->ifr_name));
198 ifr->ifr_hwaddr.sa_family = hatype; 198 ifr->ifr_hwaddr.sa_family = hatype;
199 alen = ll_addr_a2n((unsigned char *)(ifr->ifr_hwaddr.sa_data), 14, lla); 199 alen = ll_addr_a2n((unsigned char *)(ifr->ifr_hwaddr.sa_data), 14, lla);
200 if (alen < 0) 200 if (alen < 0)