]> git.saurik.com Git - apple/mdnsresponder.git/blobdiff - mDNSPosix/mDNSUNP.c
mDNSResponder-176.2.tar.gz
[apple/mdnsresponder.git] / mDNSPosix / mDNSUNP.c
index ad1821ca5b0ab5e832980e3b7838e5dcff664d3b..852883d7baea669b66b7c78b5984889b686a8f17 100755 (executable)
     Change History (most recent first):
 
 $Log: mDNSUNP.c,v $
+Revision 1.36  2008/04/21 18:21:22  mkrochma
+<rdar://problem/5877307> Need to free ifi_netmask
+Submitted by Igor Seleznev
+
+Revision 1.35  2007/11/15 21:36:19  cheshire
+<rdar://problem/5289340> POSIX: Off by one overflow in get_ifi_info_linuxv6()
+
 Revision 1.34  2006/08/14 23:24:47  cheshire
 Re-licensed mDNSResponder daemon source code under Apache License, Version 2.0
 
@@ -200,7 +207,7 @@ struct ifi_info *get_ifi_info_linuxv6(int family, int doaliases)
        FILE *fp;
        char addr[8][5];
        int flags, myflags, index, plen, scope;
-       char ifname[8], lastname[IFNAMSIZ];
+       char ifname[9], lastname[IFNAMSIZ];
        char addr6[32+7+1]; /* don't forget the seven ':' */
        struct addrinfo hints, *res0;
        struct sockaddr_in6 *sin6;
@@ -547,6 +554,8 @@ free_ifi_info(struct ifi_info *ifihead)
     for (ifi = ifihead; ifi != NULL; ifi = ifinext) {
         if (ifi->ifi_addr != NULL)
             free(ifi->ifi_addr);
+        if (ifi->ifi_netmask != NULL)
+            free(ifi->ifi_netmask);
         if (ifi->ifi_brdaddr != NULL)
             free(ifi->ifi_brdaddr);
         if (ifi->ifi_dstaddr != NULL)