diff --git a/CHANGES b/CHANGES index 673776c4c79a4ca00ba012b0ae31c0a92790b963..658c98b8e107fd93e778c644dee8af0dcea3085b 100644 --- a/CHANGES +++ b/CHANGES @@ -33,6 +33,7 @@ OpenLDAP 2.4.13 Engineering Fixed slapo-rwm rewriting undefined filter (ITS#5731) Fixed slapo-rwm rewritten DN-valued attrs (ITS#5772) Fixed slapo-rwm reusing freed filter (ITS#5732) + Fixed slapo-syncprov runqueue removal (ITS#5776) Added slapo-translucent try local bind when remote fails (ITS#5656) Added slapo-translucent support for PasswordModify exop (ITS#5656) Fixed tools simple bind without SASL (ITS#5753) diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index db113f042be0ff142df37556fb467e8ef86027f3..7aaa5f9c67a7bfc3e2a8ea2f49507c078144bb03 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -908,6 +908,10 @@ syncprov_qplay( Operation *op, struct re_s *rtask ) } else { /* bail out on any error */ ldap_pvt_runqueue_remove( &slapd_rq, rtask ); + + /* Prevent duplicate remove */ + if ( so->s_qtask == rtask ) + so->s_qtask = NULL; } ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex ); ldap_pvt_thread_mutex_unlock( &so->s_mutex );