From: Howard Chu Date: Wed, 18 Feb 2009 23:11:28 +0000 (+0000) Subject: ITS#5927, don't cache queries with malformed entries in results X-Git-Tag: ACLCHECK_0~807 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=58f33cbd1ec40ca33c7556e100b0b4e441c6a61b;p=openldap ITS#5927, don't cache queries with malformed entries in results --- diff --git a/servers/slapd/overlays/pcache.c b/servers/slapd/overlays/pcache.c index b0b7c65c1c..141cc20a7a 100644 --- a/servers/slapd/overlays/pcache.c +++ b/servers/slapd/overlays/pcache.c @@ -1993,6 +1993,19 @@ pcache_op_cleanup( Operation *op, SlapReply *rs ) { goto over; } + /* check for malformed entries: attrs with no values */ + { + Attribute *a = e->e_attrs; + for (; a; a=a->a_next) { + if ( !a->a_numvals ) { + Debug( pcache_debug, "%s: query not cacheable because of attrs without values in DN \"%s\" (%s)\n", + op->o_log_prefix, rs->sr_entry->e_name.bv_val, + a->a_desc->ad_cname.bv_val ); + goto over; + } + } + } + if ( si->count < si->max ) { si->count++; e = entry_dup( rs->sr_entry );