diff --git a/libraries/libldap/open.c b/libraries/libldap/open.c index 85a22be4fc..8b6942d31b 100644 --- a/libraries/libldap/open.c +++ b/libraries/libldap/open.c @@ -271,7 +271,8 @@ ldap_init_fd( ldap_unbind_ext( ld, NULL, NULL ); return( LDAP_NO_MEMORY ); } - conn->lconn_server = ldap_url_dup( ld->ld_options.ldo_defludp ); + if( url ) + conn->lconn_server = ldap_url_dup( ld->ld_options.ldo_defludp ); ber_sockbuf_ctrl( conn->lconn_sb, LBER_SB_OPT_SET_FD, &fd ); ld->ld_defconn = conn; ++ld->ld_defconn->lconn_refcnt; /* so it never gets closed/freed */