From 148e940fdafb49287dcf24e80e43d7ea40c7fb89 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Fri, 5 Dec 2025 10:33:13 +0000 Subject: [PATCH] ITS#9305 libldap: don't mask ld_errno if set during connect failure --- libraries/libldap/open.c | 3 ++- libraries/libldap/request.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) 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 ); } -- 2.47.3