libreplace: fix rep_freeifaddrs to not segfault on NULL input.
authorMichael Adam <obnox@samba.org>
Fri, 29 Feb 2008 01:23:29 +0000 (02:23 +0100)
committerMichael Adam <obnox@samba.org>
Fri, 29 Feb 2008 08:31:57 +0000 (09:31 +0100)
Michael
(cherry picked from commit 0cbb87453beb52c6b0bc3a48791f49678f4030c5)

source/lib/replace/getifaddrs.c

index adc2517e5c1f0a2a5364da0893b5364204c9bff0..f6f0ec080c2e48ef085635c04c6af7d87c61753d 100644 (file)
 
 void rep_freeifaddrs(struct ifaddrs *ifp)
 {
-       free(ifp->ifa_name);
-       free(ifp->ifa_addr);
-       free(ifp->ifa_netmask);
-       free(ifp->ifa_dstaddr);
-       if (ifp->ifa_next != NULL)
+       if (ifp != NULL) {
+               free(ifp->ifa_name);
+               free(ifp->ifa_addr);
+               free(ifp->ifa_netmask);
+               free(ifp->ifa_dstaddr);
                freeifaddrs(ifp->ifa_next);
-       free(ifp);
+               free(ifp);
+       }
 }
 
 static struct sockaddr *sockaddr_dup(struct sockaddr *sa)