Fix compiler warnings.
[tinc] / src / raw_socket_device.c
index 0ac970c..02f6afa 100644 (file)
@@ -33,7 +33,7 @@
 #include "xalloc.h"
 
 #if defined(PF_PACKET) && defined(ETH_P_ALL) && defined(AF_PACKET) && defined(SIOCGIFINDEX)
-static char *device_info;
+static const char *device_info = "raw_socket";
 
 static bool setup_device(void) {
        struct ifreq ifr;
@@ -47,8 +47,6 @@ static bool setup_device(void) {
                device = xstrdup(iface);
        }
 
-       device_info = "raw socket";
-
        if((device_fd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL))) < 0) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Could not open %s: %s", device_info,
                       strerror(errno));
@@ -62,6 +60,7 @@ static bool setup_device(void) {
 #endif
 
        strncpy(ifr.ifr_ifrn.ifrn_name, iface, IFNAMSIZ);
+       ifr.ifr_ifrn.ifrn_name[IFNAMSIZ - 1] = 0;
 
        if(ioctl(device_fd, SIOCGIFINDEX, &ifr)) {
                close(device_fd);