]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#9707 syncrepl: don't set lastCookie if none present
authorHoward Chu <hyc@openldap.org>
Thu, 9 Dec 2021 17:40:35 +0000 (17:40 +0000)
committerHoward Chu <hyc@openldap.org>
Thu, 9 Dec 2021 17:40:35 +0000 (17:40 +0000)
servers/slapd/syncrepl.c

index c295f8bdfe43a556266453b51b047d3588548272..69d288efc900bca7f516746a76eb6b054e1f5ca2 100644 (file)
@@ -1099,9 +1099,11 @@ do_syncrep1(
        Debug( LDAP_DEBUG_SYNC, "do_syncrep1: %s starting refresh (sending cookie=%s)\n",
                si->si_ridtxt, si->si_syncCookie.octet_str.bv_val );
 
-       ldap_pvt_thread_mutex_lock( &si->si_monitor_mutex );
-       ber_bvreplace( &si->si_lastCookieSent, &si->si_syncCookie.octet_str );
-       ldap_pvt_thread_mutex_unlock( &si->si_monitor_mutex );
+       if ( si->si_syncCookie.octet_str.bv_val ) {
+               ldap_pvt_thread_mutex_lock( &si->si_monitor_mutex );
+               ber_bvreplace( &si->si_lastCookieSent, &si->si_syncCookie.octet_str );
+               ldap_pvt_thread_mutex_unlock( &si->si_monitor_mutex );
+       }
 
        rc = ldap_sync_search( si, op->o_tmpmemctx );