cdma-connman: Make static analysis tools happy
authorDenis Kenzior <denkenz@gmail.com>
Tue, 28 Jul 2015 15:18:26 +0000 (10:18 -0500)
committerDenis Kenzior <denkenz@gmail.com>
Tue, 28 Jul 2015 15:18:26 +0000 (10:18 -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.

  92        strncpy(ifr.ifr_name, interface, IFNAMSIZ);

src/cdma-connman.c

index 2f2ea54d1c13b4d4cb121238065fbacfa6acb992..cd2a6f7604d8c61b3c785f5c5aea036e342dabda 100644 (file)
@@ -89,7 +89,7 @@ static void cdma_connman_ifupdown(const char *interface, ofono_bool_t active)
                return;
 
        memset(&ifr, 0, sizeof(ifr));
-       strncpy(ifr.ifr_name, interface, IFNAMSIZ);
+       strncpy(ifr.ifr_name, interface, IFNAMSIZ - 1);
 
        if (ioctl(sk, SIOCGIFFLAGS, &ifr) < 0)
                goto done;