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

Re: (ITS#4180) slapd (back-sql) hangs/segfaults on SASL bind



On 19 Nov 2005 at 0:58, Pierangelo Masarati wrote:

> ^^^ This shouldn't have happened.  auxvals[which].values here contains
> garbage instead of 0, although we reset it at 545 before calling
> prop_getnames() at 573.  Could you make sure, e.g. by executing
> 
> (gdb) p auxvals
> 
> before calling prop_getnames(), that all the fields are initially zero,
> and see how they get filled by that call?
> 
> Note, I suspect from your prints that you optimized the build.  Could
> you try building with -O0, just in case?

Okay, I've got a non-optimized build:

545             struct propval auxvals[3] = { 0 };
(gdb) p auxvals
$9 = {{name = 0x9f84de8 "ÐJø\t", values = 0x9f84de8, nvalues = 0, 
    valsize = 167046113}, {name = 0x4 <Address 0x4 out of bounds>, 
    values = 0x8163cf0, nvalues = 1929434472, valsize = 135257559}, {
    name = 0x9f84deb "\t", values = 0x9f84de8, nvalues = 1, 
    valsize = 167267816}}
551             *out_len = 0;
(gdb) p auxvals
$10 = {{name = 0x0, values = 0x0, nvalues = 0, valsize = 0}, {name = 0x0, 
    values = 0x0, nvalues = 0, valsize = 0}, {name = 0x0, values = 0x0, 
    nvalues = 0, valsize = 0}}

[....]

573             prop_getnames( props, slap_propnames, auxvals );
(gdb) p auxvals
$11 = {{name = 0x0, values = 0x0, nvalues = 0, valsize = 0}, {name = 
0x0, values = 0x0, nvalues = 0, valsize = 0}, {name = 0x0, values = 
0x0, nvalues = 0, valsize = 0}}
574             if ( !auxvals[0].name )
(gdb) p auxvals[which].values
$13 = (const char **) 0x9f621b4
(gdb) p auxvals
$14 = {{name = 0x811f224 "*slapConn", values = 0x9f621b4, nvalues = 
1, 
    valsize = 4}, {name = 0x811f22e "*slapAuthcDN", values = 
0x9f621bc, 
    nvalues = 1, valsize = 8}, {name = 0x811f23b "*slapAuthzDN", 
    values = 0x9f621d4, nvalues = 1, valsize = 6}}
(gdb) p *((struct berval *)0x9f621bc)
$15 = {bv_len = 167126546, bv_val = 0x0}
(gdb) p *((struct berval *)0x9f621d4)
$16 = {bv_len = 167126525, bv_val = 0x0}

----
Nels Lindquist <*>
Information Systems Manager
Morningstar Air Express Inc.