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

Local structure mech in servers/slapd/bind.c assigned to op->orb_mech.

The local structure mech in servers/slapd/bind.c is declared in do_bind as

struct berval mech = BER_BVNULL;

at about line 44.

Further in do_bind, around line 201, mech is assigned to op->orb_mech.

As a newbie to slapd, I'm concerned about this assignment.

Later, slapd cores in an_find and I see that op->orb_mech.bv_len shares the same 
address as op->o_request.oq_search.rs_attrs:
Program received signal SIGSEGV, Segmentation fault.
an_find (a=0x6, s=0x814322c) at ad.c:874
874             for ( ; a->an_name.bv_val; a++ ) {
(gdb) up
#1  0x0807f865 in slap_attr_flags (an=0x6) at result.c:1659
1659                    flags |= an_find( an, slap_bv_all_operational_attrs )
(gdb) up
#2  0x08080a54 in slap_send_search_entry (op=0x81e74e0, rs=0xbfffa368) at 
821             rs->sr_attr_flags = slap_attr_flags( rs->sr_attrs );
(gdb) print &op->o_request.oq_bind.rb_mech
$97 = (struct berval *) 0x81e751c
(gdb) print &op->o_request.oq_bind.rb_mech.bv_len
$98 = (ber_len_t *) 0x81e751c
(gdb) print &op->o_request.oq_search.rs_attrs
$99 = (AttributeName **) 0x81e751c

I am using back-shell and slapd cores when my bind shell script outputs blank 
lines between data lines.  If I remove the blank lines slapd doesn't core.  But 
then it dumps the whole input and complains "expected RESULT" which I know isn't