Hey again,
I'm getting a rather odd crash client side due to an attempt to free
something that I'm guessing it might be wrong to free...
---
#if SASL_VERSION_MAJOR >= 2
/* XXX the application should free interact results. */
if ( prompts != NULL && prompts->result != NULL ) {
LDAP_FREE( (void *)prompts->result );
prompts->result = NULL;
}
#endif
---
---
(gdb) r -d 0 -v -h ldap1.snowman.net -ZZ -X dn:uid=sfrost,cn=SNOWMAN.NET,cn=gssapi,cn=auth
Starting program: /usr/bin/ldapsearch -d 0 -v -h ldap1.snowman.net -ZZ -X dn:uid=sfrost,cn=SNOWMAN.NET,cn=gssapi,cn=auth
ldap_init( ldap1.snowman.net, 0 )
SASL/GSSAPI authentication started
Program received signal SIGSEGV, Segmentation fault.
0x40235129 in free () from /lib/libc.so.6
(gdb) i s
#0 0x40235129 in free () from /lib/libc.so.6
#1 0x4005459c in ber_memfree (p=0x1020001) at /data1/sfrost/debs/openldap21/openldap21-2.1.12/libraries/liblber/memory.c:143
#2 0x400229f4 in ldap_int_sasl_bind (ld=0x80543c0, dn=0x0, mechs=0x8078e18 "GSSAPI", sctrls=0x0, cctrls=0x0, flags=0, interact=0x804da77 <strcpy+16475>,
defaults=0x8078918) at /data1/sfrost/debs/openldap21/openldap21-2.1.12/libraries/libldap/cyrus.c:605
#3 0x40026d75 in ldap_sasl_interactive_bind_s (ld=0x80543c0, dn=0x0, mechs=0x8078e18 "GSSAPI", serverControls=0x0, clientControls=0x0, flags=0,
interact=0x804da77 <strcpy+16475>, defaults=0x8078918) at /data1/sfrost/debs/openldap21/openldap21-2.1.12/libraries/libldap/sasl.c:481
#4 0x0804b5fa in strcpy ()
#5 0x401e19f1 in __libc_start_main () from /lib/libc.so.6
(gdb)
---
When I run with -d 1 there doesn't appear to be any problem. It
only happens when using TLS, though I'm really not sure why.
I also was unable to figure out if this is a bug in SASL. I
looked through the SASL code some, and checked out their
sample-client and it didn't seem to do this. It crashed
even when I specified '-I' on the ldapsearch command-line.
Thoughts? Anyone else seen this issue?
Stephen
Attachment:
pgphFAy9syyLp.pgp
Description: PGP signature