From: Kurt Zeilenga Date: Mon, 1 Oct 2001 18:18:11 +0000 (+0000) Subject: getaddrinfo ai_addr check from HEAD X-Git-Tag: OPENLDAP_REL_ENG_2_0_16~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bd3427608c50115d1e32074210804f12518a775c;p=thirdparty%2Fopenldap.git getaddrinfo ai_addr check from HEAD --- diff --git a/servers/slapd/daemon.c b/servers/slapd/daemon.c index beff382614..efdef869f5 100644 --- a/servers/slapd/daemon.c +++ b/servers/slapd/daemon.c @@ -270,10 +270,16 @@ static int slap_get_listener_addresses( return -1; } - sai = res; sap = *sal; - do { + for ( sai=res; sai; sai=sai->ai_next ) { + if( sai->ai_addr == NULL ) { + Debug( LDAP_DEBUG_ANY, "slap_get_listener_addresses: " + "getaddrinfo ai_addr is NULL?\n", 0, 0, 0 ); + freeaddrinfo(res); + goto errexit; + } + switch (sai->ai_family) { # ifdef LDAP_PF_INET6 case AF_INET6: @@ -303,7 +309,7 @@ static int slap_get_listener_addresses( (*sap)->sa_family = sai->ai_family; sap++; } - } while ((sai = sai->ai_next) != NULL); + } *sap = NULL; freeaddrinfo(res);