From: Howard Chu Date: Wed, 10 Sep 2008 03:35:26 +0000 (+0000) Subject: Fix prev commit X-Git-Tag: ACLCHECK_0~1362 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=92d39f73769040682f708d2ae49d4f630381ba9d;p=openldap Fix prev commit --- diff --git a/servers/slapd/overlays/accesslog.c b/servers/slapd/overlays/accesslog.c index 722bd0cfa2..866afd7937 100644 --- a/servers/slapd/overlays/accesslog.c +++ b/servers/slapd/overlays/accesslog.c @@ -579,10 +579,14 @@ log_old_lookup( Operation *op, SlapReply *rs ) */ a = attr_find( rs->sr_entry->e_attrs, slap_schema.si_ad_entryCSN ); - if ( a && ber_bvcmp( &a->a_vals[0], &pd->csn ) > 0 ) { - AC_MEMCPY( pd->csn.bv_val, a->a_vals[0].bv_val, - a->a_vals[0].bv_len ); - pd->csn.bv_len = a->a_vals[0].bv_len; + if ( a ) { + int len = a->a_vals[0].bv_len; + if ( len > pd->csn.bv_len ) + len = pd->csn.bv_len; + if ( memcmp( a->a_vals[0].bv_val, pd->csn.bv_val, len ) > 0 ) { + AC_MEMCPY( pd->csn.bv_val, a->a_vals[0].bv_val, len ); + pd->csn.bv_len = len; + } } if ( pd->used >= pd->slots ) { pd->slots += PURGE_INCREMENT;