Bug 1278504 - fixed buffer not null terminated. r?valentin draft
authorAndi-Bogdan Postelnicu <bpostelnicu@mozilla.com>
Tue, 07 Jun 2016 15:44:11 +0300
changeset 376121 d9da551ecbddfb47033ad8809b9d62a5179aacea
parent 375369 3e8ee3599a67edd971770af4982ad4b0fe77f073
child 523085 97ebd01f4b14aa606f3c203c825c3166161163eb
push id20506
push userBogdan.Postelnicu@softvision.ro
push dateTue, 07 Jun 2016 12:44:50 +0000
reviewersvalentin
bugs1278504
milestone49.0a1
Bug 1278504 - fixed buffer not null terminated. r?valentin MozReview-Commit-ID: 4V1YcK2thiF
netwerk/base/NetworkInfoServiceCocoa.cpp
netwerk/base/NetworkInfoServiceLinux.cpp
--- a/netwerk/base/NetworkInfoServiceCocoa.cpp
+++ b/netwerk/base/NetworkInfoServiceCocoa.cpp
@@ -63,17 +63,17 @@ DoListAddresses(AddrMapType& aAddrMap)
     return NS_OK;
 }
 
 static nsresult
 ListInterfaceAddresses(int aFd, const char* aInterface, AddrMapType& aAddrMap)
 {
     struct ifreq ifreq;
     memset(&ifreq, 0, sizeof(struct ifreq));
-    strncpy(ifreq.ifr_name, aInterface, IFNAMSIZ);
+    strncpy(ifreq.ifr_name, aInterface, IFNAMSIZ - 1);
     if (ioctl(aFd, SIOCGIFADDR, &ifreq) != 0) {
         return NS_ERROR_FAILURE;
     }
 
     char host[128];
     int family;
     switch(family=ifreq.ifr_addr.sa_family) {
       case AF_INET:
--- a/netwerk/base/NetworkInfoServiceLinux.cpp
+++ b/netwerk/base/NetworkInfoServiceLinux.cpp
@@ -63,17 +63,17 @@ DoListAddresses(AddrMapType& aAddrMap)
     return NS_OK;
 }
 
 static nsresult
 ListInterfaceAddresses(int aFd, const char* aInterface, AddrMapType& aAddrMap)
 {
     struct ifreq ifreq;
     memset(&ifreq, 0, sizeof(struct ifreq));
-    strncpy(ifreq.ifr_name, aInterface, IFNAMSIZ);
+    strncpy(ifreq.ifr_name, aInterface, IFNAMSIZ - 1);
     if (ioctl(aFd, SIOCGIFADDR, &ifreq) != 0) {
         return NS_ERROR_FAILURE;
     }
 
     char host[128];
     int family;
     switch(family=ifreq.ifr_addr.sa_family) {
       case AF_INET: