From 67f21784fddc61245b695bac18741540c0c66afb Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Thu, 18 Nov 2010 11:53:59 +0000 Subject: [PATCH] do not add hasSubordinates if already present (blind-fixes ITS#6712 for back-monitor) --- servers/slapd/back-monitor/operational.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/servers/slapd/back-monitor/operational.c b/servers/slapd/back-monitor/operational.c index a5e68beaf7..b0d0f92f55 100644 --- a/servers/slapd/back-monitor/operational.c +++ b/servers/slapd/back-monitor/operational.c @@ -43,11 +43,16 @@ monitor_back_operational( assert( rs->sr_entry != NULL ); - for ( ap = &rs->sr_operational_attrs; *ap; ap = &(*ap)->a_next ) - /* just count */ ; + for ( ap = &rs->sr_operational_attrs; *ap; ap = &(*ap)->a_next ) { + if ( (*ap)->a_desc == slap_schema.si_ad_hasSubordinates ) { + break; + } + } - if ( SLAP_OPATTRS( rs->sr_attr_flags ) || - ad_inlist( slap_schema.si_ad_hasSubordinates, rs->sr_attrs ) ) + if ( *ap == NULL && + attr_find( rs->sr_entry->e_attrs, slap_schema.si_ad_hasSubordinates ) == NULL && + ( SLAP_OPATTRS( rs->sr_attr_flags ) || + ad_inlist( slap_schema.si_ad_hasSubordinates, rs->sr_attrs ) ) ) { int hs; monitor_entry_t *mp; -- 2.39.5