This is a multi-part message in MIME format.
--------------070701020707050408020200
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
ando@sys-net.it a écrit :
raphael.ouazana@linagora.com wrote:
It seems OK with HEAD, but only if I revert this patch:
http://www.openldap.org/devel/cvsweb.cgi/servers/slapd/sets.c.diff?r1=1.28.2...
With this patch, I get a segfault.
I have just committed a cleanup of the slap_set_join() function that
should be consistent. It should fix a leak in case of '&' on
overlapping sets, and consistently handle memory. Can you please test
it and point out failures? If you get any, please post the rules that
cause them, as those I could design worked fine (tested with valgrind).
I am one of Raphael's colleagues, answering on his behalf.
I've tested your latest commit, and most of our tests now run great.
However, I still get a segault with the two rules below. Please note
that this segfault only happens when *both* rules are present, each one
by itself does not cause a segfault :
access to dn.sub="ou=Affectations,dc=linagora,dc=org" attrs=sigleAbrege,labeledURI,mailRoutingAddress,telephoneNumber,facsimileTelephoneNumber,entry
by set="([ldap:///] + (([ldap:///] + ((([ldap:///] + this + [??base?(|(objectClass=affectationLiee)(objectClass=affectationSemiLibre))])/entryDN)/-0) + [??base?])/responsable) + [??base?(|(administrateurResponsable=] + user + [)(administrateur=] + user + [)(membre=] + user + [))])/entryDN" +rscx
by * break
access to dn.sub="ou=Affectations,dc=linagora,dc=org" attrs=domaineMessagerie,finValidite,identifiantHarpegeStructure,responsable,objectClass,entry
by set="[ldap:///] + (((([ldap:///] + this + [??base?(|(objectClass=affectationLiee)(objectClass=affectationSemiLibre))])/entryDN)/-100) & ((([ldap:///] + user + [??base?(objectClass=personnel)])/entryDN)/-100)) + [??sub?entryDN=] + user/entryDN" +rscx
by * break
I'm afraid that we use quite a few specific schemas so you may not be
able to reproduce this easily. However, I hope these rules will enable
you to determine the problematic case. If necessary, I could prepare a
data and schema extract to reproduce the problem.
Oh, and I forgot, please find attached the output from valgrind when
running these rules.
--
Jonathan Clarke
Cellule OSSA - Groupe LINAGORA
27 rue de Berri, 75008 Paris
Tél: 01 58 18 68 28, fax: 01 58 18 68 29
http://www.linagora.com -
http://www.08000linux.com
--------------070701020707050408020200
Content-Type: text/plain;
name="valgrind.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="valgrind.txt"
=> dn: [5] ou=affectations,dc=linagora,dc=fr
=> acl_get: [5] matched
=> dn: [6] ou=affectations,dc=linagora,dc=fr
=> acl_get: [6] matched
=> acl_get: [6] attr objectClass
=> acl_mask: access to entry "ou=4,ou=0132,ou=0126,ou=SG,ou=UPMC,ou=Affectations,dc=linagora,dc=fr", attr "objectClass" requested
=> acl_mask: to value by "uid=test,ou=machines,dc=linagora,dc=fr", (=0)
<= check a_set_pat: [ldap:///] + (((([ldap:///] + this + [??base?(|(objectClass=affectationLiee)(objectClass=affectationSemiLibre))])/entryDN)/-100) & ((([ldap:///] + user + [??base?(objectClass=personnel)])/entryDN)/-100)) + [??sub?entryDN=] + user/entryDN
=> access_allowed: search access to "ou=4,ou=0132,ou=0126,ou=SG,ou=UPMC,ou=Affectations,dc=linagora,dc=fr" "entry" requested
<= root access granted
=> access_allowed: search access granted by manage(=mwrscxd)
=> access_allowed: search access to "ou=4,ou=0132,ou=0126,ou=SG,ou=UPMC,ou=Affectations,dc=linagora,dc=fr" "objectClass" requested
<= root access granted
=> access_allowed: search access granted by manage(=mwrscxd)
=> access_allowed: search access to "ou=4,ou=0132,ou=0126,ou=SG,ou=UPMC,ou=Affectations,dc=linagora,dc=fr" "objectClass" requested
<= root access granted
=> access_allowed: search access granted by manage(=mwrscxd)
=> access_allowed: search access to "uid=test,ou=Machines,dc=linagora,dc=fr" "entry" requested
<= root access granted
=> access_allowed: search access granted by manage(=mwrscxd)
=> access_allowed: search access to "uid=test,ou=Machines,dc=linagora,dc=fr" "objectClass" requested
<= root access granted
=> access_allowed: search access granted by manage(=mwrscxd)
==28687==
==28687== Thread 3:
==28687== Invalid read of size 4
==28687== at 0x80AE729: slap_set_size (sets.c:34)
==28687== by 0x80AE921: slap_set_join (sets.c:269)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687== by 0x80679F5: fe_op_search (search.c:368)
==28687== Address 0x7226C34 is 4 bytes inside a block of size 24 free'd
==28687== at 0x402123A: free (vg_replace_malloc.c:233)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687==
==28687== Invalid read of size 4
==28687== at 0x80AE735: slap_set_size (sets.c:34)
==28687== by 0x80AE921: slap_set_join (sets.c:269)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687== by 0x80679F5: fe_op_search (search.c:368)
==28687== Address 0x7226C3C is 12 bytes inside a block of size 24 free'd
==28687== at 0x402123A: free (vg_replace_malloc.c:233)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687==
==28687== Invalid read of size 4
==28687== at 0x80AEC5E: slap_set_join (sets.c:298)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687== by 0x80679F5: fe_op_search (search.c:368)
==28687== by 0x80C7CA0: overlay_op_walk (backover.c:652)
==28687== Address 0x7226C34 is 4 bytes inside a block of size 24 free'd
==28687== at 0x402123A: free (vg_replace_malloc.c:233)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687==
==28687== Invalid read of size 4
==28687== at 0x80AEC96: slap_set_join (sets.c:304)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687== by 0x80679F5: fe_op_search (search.c:368)
==28687== by 0x80C7CA0: overlay_op_walk (backover.c:652)
==28687== Address 0x7226C30 is 0 bytes inside a block of size 24 free'd
==28687== at 0x402123A: free (vg_replace_malloc.c:233)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687==
==28687== Invalid read of size 4
==28687== at 0x80AEDBD: slap_set_join (sets.c:329)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687== by 0x80679F5: fe_op_search (search.c:368)
==28687== by 0x80C7CA0: overlay_op_walk (backover.c:652)
==28687== Address 0x7226C30 is 0 bytes inside a block of size 24 free'd
==28687== at 0x402123A: free (vg_replace_malloc.c:233)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687==
==28687== Invalid read of size 4
==28687== at 0x80AEDC3: slap_set_join (sets.c:329)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687== by 0x80679F5: fe_op_search (search.c:368)
==28687== by 0x80C7CA0: overlay_op_walk (backover.c:652)
==28687== Address 0x7226C34 is 4 bytes inside a block of size 24 free'd
==28687== at 0x402123A: free (vg_replace_malloc.c:233)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687==
==28687== Invalid read of size 4
==28687== at 0x80AEDDF: slap_set_join (sets.c:330)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687== by 0x80679F5: fe_op_search (search.c:368)
==28687== by 0x80C7CA0: overlay_op_walk (backover.c:652)
==28687== Address 0x7226C30 is 0 bytes inside a block of size 24 free'd
==28687== at 0x402123A: free (vg_replace_malloc.c:233)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687==
==28687== Invalid read of size 4
==28687== at 0x80AED4E: slap_set_join (sets.c:298)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687== by 0x80679F5: fe_op_search (search.c:368)
==28687== by 0x80C7CA0: overlay_op_walk (backover.c:652)
==28687== Address 0x7226C3C is 12 bytes inside a block of size 24 free'd
==28687== at 0x402123A: free (vg_replace_malloc.c:233)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687==
==28687== Invalid read of size 4
==28687== at 0x816334F: ber_bvarray_free_x (memory.c:727)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687== Address 0x7226C34 is 4 bytes inside a block of size 24 free'd
==28687== at 0x402123A: free (vg_replace_malloc.c:233)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687==
==28687== Invalid read of size 4
==28687== at 0x816335E: ber_bvarray_free_x (memory.c:727)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687== Address 0x7226C3C is 12 bytes inside a block of size 24 free'd
==28687== at 0x402123A: free (vg_replace_malloc.c:233)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687==
==28687== Invalid read of size 4
==28687== at 0x8163380: ber_bvarray_free_x (memory.c:731)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687== Address 0x7226C34 is 4 bytes inside a block of size 24 free'd
==28687== at 0x402123A: free (vg_replace_malloc.c:233)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687==
==28687== Invalid free() / delete / delete[]
==28687== at 0x402123A: free (vg_replace_malloc.c:233)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
==28687== Address 0x7226C30 is 0 bytes inside a block of size 24 free'd
==28687== at 0x402123A: free (vg_replace_malloc.c:233)
==28687== by 0x80AE892: slap_set_dispose (sets.c:74)
==28687== by 0x80AE8E8: slap_set_join (sets.c:354)
==28687== by 0x80AF1C2: slap_set_filter (sets.c:612)
==28687== by 0x80864C9: acl_match_set (acl.c:2299)
==28687== by 0x8089785: slap_access_allowed (acl.c:1621)
==28687== by 0x808B6C3: fe_access_allowed (acl.c:311)
==28687== by 0x80C892F: over_access_allowed (backover.c:314)
==28687== by 0x80872C3: access_allowed_mask (acl.c:413)
==28687== by 0x8083BCE: test_ava_filter (filterentry.c:545)
==28687== by 0x80843E8: test_filter (filterentry.c:88)
==28687== by 0x80DC90D: bdb_search (search.c:844)
<= acl_mask: [1] applying +rscx (stop)
<= acl_mask: [1] mask: =rscx
=> slap_access_allowed: search access granted by =rscx
=> access_allowed: search access granted by =rscx
--------------070701020707050408020200--