use xbind, xconnect where appropriate.
[oweals/busybox.git] / networking / libiproute / iplink.c
index f79dab402435583800d0f3df430ec574e8d65aec..ea57d60aca78faf965ec4120a4c9d856c25061bb 100644 (file)
 #include <sys/ioctl.h>
 #include <sys/socket.h>
 
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-
 #include <net/if.h>
 #include <net/if_packet.h>
 #include <netpacket/packet.h>
@@ -61,7 +57,7 @@ static int do_chflags(char *dev, __u32 flags, __u32 mask)
        int fd;
        int err;
 
-       strcpy(ifr.ifr_name, dev);
+       strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));
        fd = get_ctl_fd();
        if (fd < 0)
                return -1;
@@ -88,8 +84,8 @@ static int do_changename(char *dev, char *newdev)
        int fd;
        int err;
 
-       strcpy(ifr.ifr_name, dev);
-       strcpy(ifr.ifr_newname, newdev);
+       strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));
+       strncpy(ifr.ifr_newname, newdev, sizeof(ifr.ifr_newname));
        fd = get_ctl_fd();
        if (fd < 0)
                return -1;
@@ -113,7 +109,7 @@ static int set_qlen(char *dev, int qlen)
                return -1;
 
        memset(&ifr, 0, sizeof(ifr));
-       strcpy(ifr.ifr_name, dev);
+       strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));
        ifr.ifr_qlen = qlen;
        if (ioctl(s, SIOCSIFTXQLEN, &ifr) < 0) {
                perror("SIOCSIFXQLEN");
@@ -135,7 +131,7 @@ static int set_mtu(char *dev, int mtu)
                return -1;
 
        memset(&ifr, 0, sizeof(ifr));
-       strcpy(ifr.ifr_name, dev);
+       strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));
        ifr.ifr_mtu = mtu;
        if (ioctl(s, SIOCSIFMTU, &ifr) < 0) {
                perror("SIOCSIFMTU");
@@ -161,7 +157,7 @@ static int get_address(char *dev, int *htype)
        }
 
        memset(&ifr, 0, sizeof(ifr));
-       strcpy(ifr.ifr_name, dev);
+       strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));
        if (ioctl(s, SIOCGIFINDEX, &ifr) < 0) {
                perror("SIOCGIFINDEX");
                close(s);
@@ -194,7 +190,7 @@ static int parse_address(char *dev, int hatype, int halen, char *lla, struct ifr
        int alen;
 
        memset(ifr, 0, sizeof(*ifr));
-       strcpy(ifr->ifr_name, dev);
+       strncpy(ifr->ifr_name, dev, sizeof(ifr->ifr_name));
        ifr->ifr_hwaddr.sa_family = hatype;
        alen = ll_addr_a2n((unsigned char *)(ifr->ifr_hwaddr.sa_data), 14, lla);
        if (alen < 0)