]> git.sur5r.net Git - openldap/commitdiff
Plugged memory leak. Syncentry wasn't free'd when sending
authorRalf Haferkamp <ralf@openldap.org>
Thu, 21 Jan 2010 13:33:21 +0000 (13:33 +0000)
committerRalf Haferkamp <ralf@openldap.org>
Thu, 21 Jan 2010 13:33:21 +0000 (13:33 +0000)
LDAP_SYNC_NEW_COOKIE intermediate results. (ITS#6459)

servers/slapd/overlays/syncprov.c

index 2cbc9722ccf5895b19abf317457899cbb797473e..6cb7cfb17df44c83678150a0aad9a98b5c01dcc5 100644 (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 );
                        }
                }