diff --git a/libraries/libldap/result.c b/libraries/libldap/result.c index dd3b2b642653fd26429fdd67543db3ea98ef9516..fba8ff4397ab020adc3927325c6816a716ed4d9f 100644 --- a/libraries/libldap/result.c +++ b/libraries/libldap/result.c @@ -113,6 +113,9 @@ ldap_result( Debug( LDAP_DEBUG_TRACE, "ldap_result ld %p msgid %d\n", (void *)ld, msgid, 0 ); + if (ld->ld_errno == LDAP_LOCAL_ERROR || ld->ld_errno == LDAP_SERVER_DOWN) + return -1; + LDAP_MUTEX_LOCK( &ld->ld_res_mutex ); rc = wait4msg( ld, msgid, all, timeout, result ); LDAP_MUTEX_UNLOCK( &ld->ld_res_mutex );