Plugged memory leak. Syncentry wasn't free'd when sending

LDAP_SYNC_NEW_COOKIE intermediate results. (ITS#6459)
This commit is contained in:
Ralf Haferkamp 2010-01-21 13:33:21 +00:00
parent 0cf528630f
commit 9e3517595d

View file

@ -932,9 +932,9 @@ syncprov_qplay( Operation *op, syncops *so )
ldap_pvt_thread_mutex_unlock( &so->s_mutex );
if ( sr->s_mode == LDAP_SYNC_NEW_COOKIE ) {
SlapReply rs = { REP_INTERMEDIATE };
SlapReply rs = { REP_INTERMEDIATE };
rc = syncprov_sendinfo( op, &rs, LDAP_TAG_SYNC_NEW_COOKIE,
rc = syncprov_sendinfo( op, &rs, LDAP_TAG_SYNC_NEW_COOKIE,
&sr->s_csn, 0, NULL, 0 );
} else {
opc.sdn = sr->s_dn;
@ -946,11 +946,11 @@ syncprov_qplay( Operation *op, syncops *so )
rc = syncprov_sendresp( op, &opc, so, sr->s_mode );
if ( opc.se ) {
if ( !dec_mutexint( opc.se->e_private )) {
opc.se->e_private = NULL;
entry_free ( opc.se );
}
}
if ( sr->s_e ) {
if ( !dec_mutexint( sr->s_e->e_private )) {
sr->s_e->e_private = NULL;
entry_free ( sr->s_e );
}
}