File openldap-2.3.37-libldap-ld_defconn-ldap_free_connection.dif of Package compat-libldap-2_3-0
Index: libraries/libldap/request.c
===================================================================
--- libraries/libldap/request.c.orig
+++ libraries/libldap/request.c
@@ -601,6 +601,9 @@ ldap_free_connection( LDAP *ld, LDAPConn
} else {
prevlc->lconn_next = tmplc->lconn_next;
}
+ if ( ld->ld_defconn == lc ) {
+ ld->ld_defconn = NULL;
+ }
break;
}
prevlc = tmplc;
@@ -631,6 +634,8 @@ ldap_free_connection( LDAP *ld, LDAPConn
}
if ( lc->lconn_sb != ld->ld_sb ) {
ber_sockbuf_free( lc->lconn_sb );
+ } else {
+ ber_int_sb_close( lc->lconn_sb );
}
if ( lc->lconn_rebind_queue != NULL) {
int i;