]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/operation.c
fix previous commit (ITS#5819)
[openldap] / servers / slapd / operation.c
index e975eae28d3bb152ff88dfa684346601d1de08b3..cc0354b303d8f11876a7864829324037bf779811 100644 (file)
@@ -111,6 +111,11 @@ slap_op_free( Operation *op, void *ctx )
        }
 #endif /* defined( LDAP_SLAPI ) */
 
+       if ( !BER_BVISNULL( &op->o_csn ) ) {
+               op->o_tmpfree( op->o_csn.bv_val, op->o_tmpmemctx );
+               BER_BVZERO( &op->o_csn );
+       }
+
        opbuf = (OperationBuffer *) op;
        memset( opbuf, 0, sizeof(*opbuf) );
        op->o_hdr = &opbuf->ob_hdr;
@@ -129,8 +134,8 @@ slap_op_free( Operation *op, void *ctx )
 void
 slap_op_time(time_t *t, int *nop)
 {
-       *t = slap_get_time();
        ldap_pvt_thread_mutex_lock( &slap_op_mutex );
+       *t = slap_get_time();
        if ( *t == last_time ) {
                *nop = ++last_incr;
        } else {