From 220749b10250154f95aa05c8b948cbe7015a2daa Mon Sep 17 00:00:00 2001 From: Jan Friesse <jfriesse@redhat.com> Date: Thu, 14 Apr 2011 13:53:08 +0200 Subject: [PATCH] getifaddrs may return NULL ifa_addr Such ifa_addr is then dereferenced to find out address family. Proper check is added now. Resolves: tt#31 --- addrfunc.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/addrfunc.c b/addrfunc.c index d6aa3cb..77fac4c 100644 --- a/addrfunc.c +++ b/addrfunc.c @@ -260,8 +260,9 @@ af_find_local_ai(const struct ai_list *ai_list, int *ip_ver, struct ifaddrs **if TAILQ_FOREACH(aip, ai_list, entries) { for (ai_i = aip->ai; ai_i != NULL; ai_i = ai_i->ai_next) { for (ifa_i = ifa; ifa_i != NULL; ifa_i = ifa_i->ifa_next) { - if (ifa_i->ifa_addr->sa_family != AF_INET && - ifa_i->ifa_addr->sa_family != AF_INET6) { + if (ifa_i->ifa_addr == NULL || + (ifa_i->ifa_addr->sa_family != AF_INET && + ifa_i->ifa_addr->sa_family != AF_INET6)) { continue ; } -- 1.7.3.4