From 4156d8a50e05dcaebdcb2e0ed86fd75fff11d24c Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Thu, 17 Sep 2020 20:18:20 +0100 Subject: [PATCH] ITS#9352 syncrepl: fix syncrepl_op_modify on entry with no entryCSN --- servers/slapd/syncrepl.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c index ba37f1e581..eedc24abbe 100644 --- a/servers/slapd/syncrepl.c +++ b/servers/slapd/syncrepl.c @@ -2242,10 +2242,15 @@ syncrepl_op_modify( Operation *op, SlapReply *rs ) Attribute *a; const char *text; a = attr_find( e->e_attrs, slap_schema.si_ad_entryCSN ); - value_match( &match, slap_schema.si_ad_entryCSN, - slap_schema.si_ad_entryCSN->ad_type->sat_ordering, - SLAP_MR_VALUE_OF_ATTRIBUTE_SYNTAX, - &mod->sml_nvalues[0], &a->a_nvals[0], &text ); + if ( a ) { + value_match( &match, slap_schema.si_ad_entryCSN, + slap_schema.si_ad_entryCSN->ad_type->sat_ordering, + SLAP_MR_VALUE_OF_ATTRIBUTE_SYNTAX, + &mod->sml_nvalues[0], &a->a_nvals[0], &text ); + } else { + /* no entryCSN? shouldn't happen. assume mod is newer. */ + match = 1; + } overlay_entry_release_ov( op, e, 0, on ); } /* equal? Should never happen */ -- 2.47.2