From: Howard Chu Date: Fri, 5 Dec 2025 10:33:13 +0000 (+0000) Subject: ITS#9305 libldap: don't mask ld_errno if set during connect failure X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=148e940fdafb49287dcf24e80e43d7ea40c7fb89;p=thirdparty%2Fopenldap.git ITS#9305 libldap: don't mask ld_errno if set during connect failure --- diff --git a/libraries/libldap/open.c b/libraries/libldap/open.c index 6dad331ecd..c504a0df14 100644 --- a/libraries/libldap/open.c +++ b/libraries/libldap/open.c @@ -43,7 +43,8 @@ int ldap_open_defconn( LDAP *ld ) &ld->ld_options.ldo_defludp, 1, 1, NULL, 0, 0 ); if( ld->ld_defconn == NULL ) { - ld->ld_errno = LDAP_SERVER_DOWN; + if ( !ld->ld_errno ) + ld->ld_errno = LDAP_SERVER_DOWN; return -1; } diff --git a/libraries/libldap/request.c b/libraries/libldap/request.c index 6bc22a65b2..9d8adc77ff 100644 --- a/libraries/libldap/request.c +++ b/libraries/libldap/request.c @@ -509,7 +509,8 @@ ldap_new_connection( LDAP *ld, LDAPURLDesc **srvlist, int use_ldsb, ber_sockbuf_free( lc->lconn_sb ); } LDAP_FREE( (char *)lc ); - ld->ld_errno = LDAP_SERVER_DOWN; + if ( !ld->ld_errno ) + ld->ld_errno = LDAP_SERVER_DOWN; return( NULL ); }