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

Incorrect free()?



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