return -1;
}
- sai = res;
sap = *sal;
- do {
+ for ( sai=res; sai; sai=sai->ai_next ) {
+ if( sai->ai_addr == NULL ) {
+#ifdef NEW_LOGGING
+ LDAP_LOG(( "connection", LDAP_LEVEL_INFO,
+ "slap_get_listener_addresses: "
+ "getaddrinfo ai_addr is NULL?\n" ));
+#else
+ Debug( LDAP_DEBUG_ANY, "slap_get_listener_addresses: "
+ "getaddrinfo ai_addr is NULL?\n", 0, 0, 0 );
+#endif
+ 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);
#endif
} else {
#ifdef LDAP_CONNECTIONLESS
- if ( tmp == LDAP_PROTO_UDP )
- l.sl_is_udp = 1;
+ l.sl_is_udp = ( tmp == LDAP_PROTO_UDP );
#endif
if( lud->lud_host == NULL || lud->lud_host[0] == '\0'
|| strcmp(lud->lud_host, "*") == 0 )