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

Re: LDAP_REL_ENG_2_4



Howard Chu wrote:
Seems to build OK on Solaris 10 sparc64. tests are still running at the moment.

test047 crashed in rwm_dn_massage, it looks like invalid pointers were passed in.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 5 (LWP 5)]
0xffffffff7cf371f0 in strlen () from /lib/64/libc.so.1
(gdb) bt
#0 0xffffffff7cf371f0 in strlen () from /lib/64/libc.so.1
#1 0xffffffff7cf9f968 in _ndoprnt () from /lib/64/libc.so.1
#2 0xffffffff7cfa2094 in vsnprintf () from /lib/64/libc.so.1
#3 0x0000000100188b5c in lutil_debug (debug=2042613608, level=0, fmt=0xffffffff7c701000 "")
at ../../../r24/libraries/liblber/debug.c:66
#4 0x000000010013c7a4 in rwm_dn_massage (dc=0x105, in=0x4, dn=0x100206f08)
at ../../../../r24/servers/slapd/overlays/rwmdn.c:178
#5 0x000000010013c9d0 in rwm_dn_massage_pretty (dc=0xffffffff79bfe460, in=0xffffffff79bfe1d8, pdn=0xffffffff79bfe100)
at ../../../../r24/servers/slapd/overlays/rwmdn.c:87


Not sure why passing from frame 5 to frame 4 would have messed up unless the function prototypes are wrong, but they look OK.

The bad stack trace was a red herring. The problem here is simply passing a NULL pointer to a string-format Debug statement, and the usual stuff with Solaris libc/string library crashing on NULL pointers. Pretty sure that just protecting the Debug statement here is sufficient.

--
  -- Howard Chu
  Chief Architect, Symas Corp.  http://www.symas.com
  Director, Highland Sun        http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP     http://www.openldap.org/project/