Issue 8456 - slapacl segfaults with mdb if object does not exists
Summary: slapacl segfaults with mdb if object does not exists
Status: VERIFIED WORKSFORME
Alias: None
Product: OpenLDAP
Classification: Unclassified
Component: slapd (show other issues)
Version: 2.4.42
Hardware: All All
: --- normal
Target Milestone: 2.5.0
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-06-28 11:55 UTC by best@univention.de
Modified: 2020-04-01 22:24 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description best@univention.de 2016-06-28 11:55:22 UTC
Full_Name: Florian Best
Version: 2.4.42+dfsg-2.210.201511060842
OS: UCS 4.1-2
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (82.198.197.8)


Running the following command causes a segfault. There is no object for the DN
provided with "-b".

gdb --args slapacl -D uid=Administator,cn=users,dc=school,dc=local -b
uid=doesnotexists,dc=school,dc=local -d0 -u
jejectClass:univentionAdminUserSettings

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff013fbc8 in mdb_txn_begin () from /usr/lib/ldap/back_mdb.so
(gdb) bt
#0  0x00007ffff013fbc8 in mdb_txn_begin () from /usr/lib/ldap/back_mdb.so
#1  0x00007ffff3a3a8d0 in mdb_opinfo_get () from /usr/lib/ldap/back_mdb.so
#2  0x00007ffff013aac6 in mdb_entry_get () from /usr/lib/ldap/back_mdb.so
#3  0x0000000000498267 in overlay_entry_get_ov ()
#4  0x00000000004982e7 in ?? ()
#5  0x000000000043f236 in fe_acl_group %)%9
#6  0x000000000043cd28 in backend_group ()
#7  0x0000000000453d9c in slap_access_allowed ()
#8  0x00000000004980cd in ?? ()
#9  0x0000000000450d8c in access_allowed_mask ()
#10 0x000000000049f793 in slapacl ()
#11 0x00000000004160bf in main ()
Comment 1 Quanah Gibson-Mount 2017-03-22 16:38:03 UTC
moved from Incoming to Software Bugs
Comment 2 Ryan Tandy 2020-03-28 02:10:16 UTC
Hello,

Thank you for the report, however I cannot reproduce this segfault, with 2.4.42 or with any other version I tried.

e.g.

# slapacl -D cn=admin,dc=example,dc=com -u -b uid=nonexistent,dc=example,dc=com objectClass
authcDN: "cn=admin,dc=example,dc=com"
objectClass: manage(=mwrscxd)

Closing as WORKSFORME, feel free to reopen if you can still reproduce.