Segfault With Invalid Credentials

<[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <[email protected]>
Running against the nightly snapshot, I'm seeing a segfault when trying 
to connect to the remote server when using invalid credentials.

(gdb) bt
#0  0xf7fdf430 in ?? ()
#1  0xf7d9e0a8 in *__GI_abort () at abort.c:88
#2  0xf7dd8165 in __libc_message (do_abort=2, fmt=0xf7e973e8 "*** glibc 
detected *** %s: %s: 0x%s ***\n") at 
../sysdeps/unix/sysv/linux/libc_fatal.c:170
#3  0xf7dddfd4 in malloc_printerr (action=2, str=0xf7e942b1 "corrupted 
double-linked list", ptr=0x80647b8) at malloc.c:5994
#4  0xf7ddf697 in _int_free (av=0xf7eb2140, mem=0x8064840) at malloc.c:4717
#5  0xf7ddf8ac in *__GI___libc_free (mem=0x8064840) at malloc.c:3625
#6  0xf7f59f97 in tds_free_login (login=0x8064840) at mem.c:1066
#7  0xf7f4930a in ct_connect (con=0x80634b0, servername=0x80634f0 
"10.0.2.231", snamelen=-9) at ct.c:657

The error occurs in mem.c when trying to free the TDSLOGIN*. I noticed 
that the TDSLOGIN* allocated in tds_alloc_login is a different pointer 
than the one being passed to tds_free_login. Looking into it a bit 
closer the tds_free_login is failing on the TDSLOGIN* allocated from 
tds_alloc_connection -- if that helps.

-- 
Mitch Freed
[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.