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:
(*sap)->sa_family = sai->ai_family;
sap++;
}
- } while ((sai = sai->ai_next) != NULL);
+ }
*sap = NULL;
freeaddrinfo(res);