ppp_net: Make static analysis tools happy
authorDenis Kenzior <denkenz@gmail.com>
Tue, 28 Jul 2015 15:16:16 +0000 (10:16 -0500)
committerDenis Kenzior <denkenz@gmail.com>
Tue, 28 Jul 2015 15:16:16 +0000 (10:16 -0500)
The kernel simply puts a null terminator at index 15 prior to ifr_name
processing.  So we do the same.

Original report by:
Sabas Rosales, Blanca E <blanca.e.sabas.rosales@intel.com>

 Buffer not null terminated (BUFFER_SIZE_WARNING) buffer_size_warning:
 Calling strncpy with a maximum size argument of 16 bytes on destination
 array ifr.ifr_ifrn.ifrn_name of size 16 bytes might leave the
 destination string unterminated.

  67        strncpy(ifr.ifr_name, net->if_name, sizeof(ifr.ifr_name));

gatchat/ppp_net.c

index 914ca537280ce680ea52b53e0263ee544c3aba4d..b35dcd17f02d64918def719d7a6506952a63324f 100644 (file)
@@ -64,7 +64,7 @@ gboolean ppp_net_set_mtu(struct ppp_net *net, guint16 mtu)
                return FALSE;
 
        memset(&ifr, 0, sizeof(ifr));
-       strncpy(ifr.ifr_name, net->if_name, sizeof(ifr.ifr_name));
+       strncpy(ifr.ifr_name, net->if_name, IFNAMSIZ - 1);
        ifr.ifr_mtu = mtu;
 
        err = ioctl(sk, SIOCSIFMTU, (void *) &ifr);