]> git.sur5r.net Git - openldap/commitdiff
getaddrinfo ai_addr check from HEAD
authorKurt Zeilenga <kurt@openldap.org>
Mon, 1 Oct 2001 18:18:11 +0000 (18:18 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Mon, 1 Oct 2001 18:18:11 +0000 (18:18 +0000)
servers/slapd/daemon.c

index beff382614a7a840ba08eb6c024fc421d601beeb..efdef869f5a464a93b887e957f57c5735a913c47 100644 (file)
@@ -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);