svn commit: trunk/uClibc/libc/inet

vda at uclibc.org vda at uclibc.org
Tue Dec 9 00:16:11 UTC 2008


Author: vda
Date: 2008-12-08 16:16:11 -0800 (Mon, 08 Dec 2008)
New Revision: 24336

Log:
getaddrinfo: runp->ifa_addr indeed can be NULL, don't dereference it
ifaddrs.c: cosmetics, no code changes



Modified:
   trunk/uClibc/libc/inet/getaddrinfo.c
   trunk/uClibc/libc/inet/ifaddrs.c


Changeset:
Modified: trunk/uClibc/libc/inet/getaddrinfo.c
===================================================================
--- trunk/uClibc/libc/inet/getaddrinfo.c	2008-12-08 23:53:21 UTC (rev 24335)
+++ trunk/uClibc/libc/inet/getaddrinfo.c	2008-12-09 00:16:11 UTC (rev 24336)
@@ -189,6 +189,8 @@
 	}
 
 	for (runp = ifa; runp != NULL; runp = runp->ifa_next) {
+		if (runp->ifa_addr == NULL)
+			continue;
 #if defined __UCLIBC_HAS_IPV4__
 		if (runp->ifa_addr->sa_family == PF_INET)
 			seen |= SEEN_IPV4;

Modified: trunk/uClibc/libc/inet/ifaddrs.c
===================================================================
--- trunk/uClibc/libc/inet/ifaddrs.c	2008-12-08 23:53:21 UTC (rev 24335)
+++ trunk/uClibc/libc/inet/ifaddrs.c	2008-12-09 00:16:11 UTC (rev 24336)
@@ -452,10 +452,7 @@
 
   /* Allocate memory for all entries we have and initialize next
      pointer.  */
-  ifas = (struct ifaddrs_storage *) calloc (1,
-					    (newlink + newaddr)
-					    * sizeof (struct ifaddrs_storage)
-					    + ifa_data_size);
+  ifas = calloc (1, (newlink + newaddr) * sizeof (ifas[0]) + ifa_data_size);
   if (ifas == NULL)
     {
       result = -1;




More information about the uClibc-cvs mailing list