all: fix suppress string termination warnings
authorFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 2 May 2019 19:11:02 +0000 (21:11 +0200)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 2 May 2019 19:34:18 +0000 (21:34 +0200)
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
lib/bmf/src/NetworkInterfaces.c
lib/pud/src/netTools.c

index c76ae77..f543ab2 100644 (file)
@@ -1230,7 +1230,7 @@ static int CreateLocalEtherTunTap(void)
   }
 
   memset(&ifreq, 0, sizeof(ifreq));
-  strncpy(ifreq.ifr_name, EtherTunTapIfName, IFNAMSIZ - 1);
+  strncpy(ifreq.ifr_name, EtherTunTapIfName, IFNAMSIZ);
   ifreq.ifr_name[IFNAMSIZ - 1] = '\0'; /* Ensures null termination */
 
   /* Specify the IFF_TUN flag for IP packets.
@@ -1246,7 +1246,7 @@ static int CreateLocalEtherTunTap(void)
   }
 
   memset(&ifreq, 0, sizeof(ifreq));
-  strncpy(ifreq.ifr_name, EtherTunTapIfName, IFNAMSIZ - 1);
+  strncpy(ifreq.ifr_name, EtherTunTapIfName, IFNAMSIZ);
   ifreq.ifr_name[IFNAMSIZ - 1] = '\0'; /* Ensures null termination */
   ifreq.ifr_addr.sa_family = AF_INET;
 
@@ -1328,7 +1328,7 @@ static int CreateLocalEtherTunTap(void)
 
   /* Set the multicast flag on the interface */
   memset(&ifreq, 0, sizeof(ifreq));
-  strncpy(ifreq.ifr_name, EtherTunTapIfName, IFNAMSIZ - 1);
+  strncpy(ifreq.ifr_name, EtherTunTapIfName, IFNAMSIZ);
   ifreq.ifr_name[IFNAMSIZ - 1] = '\0'; /* Ensures null termination */
 
   ioctlres = ioctl(ioctlSkfd, SIOCGIFFLAGS, &ifreq);
@@ -1458,7 +1458,7 @@ static int CreateInterface(
 
   /* Retrieve the MAC address of the interface. */
   memset(&ifr, 0, sizeof(struct ifreq));
-  strncpy(ifr.ifr_name, ifName, IFNAMSIZ - 1);
+  strncpy(ifr.ifr_name, ifName, IFNAMSIZ);
   ifr.ifr_name[IFNAMSIZ - 1] = '\0'; /* Ensures null termination */
   if (ioctl(ioctlSkfd, SIOCGIFHWADDR, &ifr) < 0)
   {
@@ -1502,7 +1502,7 @@ static int CreateInterface(
   {
     /* For a non-OLSR interface, retrieve the IP address ourselves */
     memset(&ifr, 0, sizeof(struct ifreq));
-    strncpy(ifr.ifr_name, ifName, IFNAMSIZ - 1);
+    strncpy(ifr.ifr_name, ifName, IFNAMSIZ);
     ifr.ifr_name[IFNAMSIZ - 1] = '\0'; /* Ensures null termination */
     if (ioctl(ioctlSkfd, SIOCGIFADDR, &ifr) < 0) 
     {
@@ -1519,7 +1519,7 @@ static int CreateInterface(
 
     /* For a non-OLSR interface, retrieve the IP broadcast address ourselves */
     memset(&ifr, 0, sizeof(struct ifreq));
-    strncpy(ifr.ifr_name, ifName, IFNAMSIZ - 1);
+    strncpy(ifr.ifr_name, ifName, IFNAMSIZ);
     ifr.ifr_name[IFNAMSIZ - 1] = '\0'; /* Ensures null termination */
     if (ioctl(ioctlSkfd, SIOCGIFBRDADDR, &ifr) < 0) 
     {
@@ -1839,7 +1839,7 @@ int AddNonOlsrBmfIf(
     return 1;
   }
 
-  strncpy(NonOlsrIfNames[nNonOlsrIfs], ifName, IFNAMSIZ - 1);
+  strncpy(NonOlsrIfNames[nNonOlsrIfs], ifName, IFNAMSIZ);
   NonOlsrIfNames[nNonOlsrIfs][IFNAMSIZ - 1] = '\0'; /* Ensures null termination */
   nNonOlsrIfs++;
   return 0;
index d33eb26..536c3c4 100644 (file)
@@ -87,6 +87,7 @@ unsigned char * getHardwareAddress(const char * ifName, int family,
        ifr->ifr_addr.sa_family = family;
        memset(ifr->ifr_name, 0, sizeof(ifr->ifr_name));
        strncpy(ifr->ifr_name, ifName, sizeof(ifr->ifr_name));
+       ifr->ifr_name[sizeof(ifr->ifr_name) - 1] = '\0';
 
        errno = 0;
        if (ioctl(fd, SIOCGIFHWADDR, ifr) < 0) {
@@ -128,6 +129,7 @@ struct in_addr * getIPv4Address(const char * ifName, struct ifreq *ifr) {
        ifr->ifr_addr.sa_family = AF_INET;
        memset(ifr->ifr_name, 0, sizeof(ifr->ifr_name));
        strncpy(ifr->ifr_name, ifName, sizeof(ifr->ifr_name));
+  ifr->ifr_name[sizeof(ifr->ifr_name) - 1] = '\0';
 
        errno = 0;
        if (ioctl(fd, SIOCGIFADDR, ifr) < 0) {