Bug 1240515 - change allocator for addr and localaddr from malloc to new, since the smart pointer that is used uses delete operator. r=dragana draft
authorBogdan Postelnicu <bogdan.postelnicu@softvision.ro>
Wed, 20 Jan 2016 12:31:01 +0200
changeset 323448 4e80f2143c8490c79a863667c25227a02c7ead63
parent 323387 2e50b83954e62d52d2ef294e850c4380d457d96a
child 513218 69cd1d480a7e109eef9b51d59bfeebc5427e406e
push id9725
push userbmo:bogdan.postelnicu@softvision.ro
push dateWed, 20 Jan 2016 10:32:31 +0000
reviewersdragana
bugs1240515
milestone46.0a1
Bug 1240515 - change allocator for addr and localaddr from malloc to new, since the smart pointer that is used uses delete operator. r=dragana
netwerk/system/linux/nsNotifyAddrListener_Linux.cpp
--- a/netwerk/system/linux/nsNotifyAddrListener_Linux.cpp
+++ b/netwerk/system/linux/nsNotifyAddrListener_Linux.cpp
@@ -189,31 +189,31 @@ void nsNotifyAddrListener::OnNetlinkMess
 
         attr = IFA_RTA (newifam);
         attr_len = IFA_PAYLOAD (nlh);
         for (;attr_len && RTA_OK (attr, attr_len);
              attr = RTA_NEXT (attr, attr_len)) {
             if (attr->rta_type == IFA_ADDRESS) {
                 if (newifam->ifa_family == AF_INET) {
                     struct in_addr* in = (struct in_addr*)RTA_DATA(attr);
-                    addr = (char*)malloc(INET_ADDRSTRLEN);
+                    addr = new char[INET_ADDRSTRLEN];
                     inet_ntop(AF_INET, in, addr.get(), INET_ADDRSTRLEN);
                 } else {
                     struct in6_addr* in = (struct in6_addr*)RTA_DATA(attr);
-                    addr = (char*)malloc(INET6_ADDRSTRLEN);
+                    addr = new char[INET6_ADDRSTRLEN];
                     inet_ntop(AF_INET6, in, addr.get(), INET6_ADDRSTRLEN);
                 }
             } else if (attr->rta_type == IFA_LOCAL) {
                 if (newifam->ifa_family == AF_INET) {
                     struct in_addr* in = (struct in_addr*)RTA_DATA(attr);
-                    localaddr = (char*)malloc(INET_ADDRSTRLEN);
+                    localaddr = new char[INET_ADDRSTRLEN];
                     inet_ntop(AF_INET, in, localaddr.get(), INET_ADDRSTRLEN);
                 } else {
                     struct in6_addr* in = (struct in6_addr*)RTA_DATA(attr);
-                    localaddr = (char*)malloc(INET6_ADDRSTRLEN);
+                    localaddr = new char[INET6_ADDRSTRLEN];
                     inet_ntop(AF_INET6, in, localaddr.get(), INET6_ADDRSTRLEN);
                 }
             }
         }
         if (localaddr) {
             addr = localaddr;
         }
         if (!addr) {