[Date Prev][Date Next] [Chronological] [Thread] [Top]

Segfault in OpenLDAP 1.2.0

When I use gq in browse mode, the following segv happens in slapd. In
acl_get_applicable(), the 'edn' variable is the one that is NULL. 'edn' is
set at acl.c:124 - the 'e' structure that it comes from looks like:

(gdb) print e       
$3 = (Entry *) 0x80910e0
(gdb) print *e
$4 = {e_dn = 0x8091128 "CN=CONFIG", e_ndn = 0x0, e_attrs = 0x8091138, e_id
= 0, 
  e_state = 0 '\000', e_rdwr = {ltrw_mutex = 0, ltrw_read = 0, ltrw_write
= 0, 
    ltrw_valid = 2989, ltrw_r_active = 0, ltrw_w_active = 0, ltrw_r_wait =
    ltrw_w_wait = 0}, e_refcnt = 0, e_lrunext = 0x0, e_lruprev = 0x0}

Here's the stack trace:

Program received signal SIGSEGV, Segmentation fault.
0x400fd29f in __regexec (preg=0x808e274, string=0x0, nmatch=10, 
    pmatch=0xbfffd884, eflags=0) at regex.c:5708
regex.c:5708: No such file or directory.
(gdb) where
#0  0x400fd29f in __regexec (preg=0x808e274, string=0x0, nmatch=10, 
    pmatch=0xbfffd884, eflags=0) at regex.c:5708
#1  0x805a6fc in acl_get_applicable (be=0x808dae0, op=0x8091070,
    attr=0x807d0e2 "entry", nmatch=10, matches=0xbfffd884) at acl.c:134
#2  0x805a2c3 in access_allowed (be=0x808dae0, conn=0x4018c430, op=0x8091070, 
    e=0x80910e0, attr=0x807d0e2 "entry", val=0x0, access=8) at acl.c:70
#3  0x8054a78 in send_search_entry (be=0x808dae0, conn=0x4018c430,
    e=0x80910e0, attrs=0x0, attrsonly=0) at result.c:196
#4  0x805f3ee in config_info (conn=0x4018c430, op=0x8091070) at
#5  0x804e14c in do_search (conn=0x4018c430, op=0x8091070) at search.c:119
#6  0x804d63e in connection_operation (arg_v=0x808ead8) at connection.c:74
#7  0x80775f3 in ldap_pvt_thread_create (thread=0x80910b0, detach=1, 
    start_routine=0x804d428 <connection_operation>, arg=0x808ead8)
    at thr_stub.c:40
#8  0x804dc47 in connection_activity (conn=0x4018c430) at connection.c:207
#9  0x804d135 in slapd_daemon (port=0x185) at daemon.c:362
#10 0x80775f3 in ldap_pvt_thread_create (thread=0x8085ce0, detach=0, 
    start_routine=0x804a2c8 <slapd_daemon>, arg=0x185) at thr_stub.c:40
#11 0x8049de4 in main (argc=3, argv=0xbffffd64) at main.c:202

Hope this helps,
-- Elliot
"We're sorry, we didn't know it was supposed to be invisible."
	- Sign carried outside US embassy.