Re: Segfault With Invalid Credentials
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <[email protected]> |
Here is the debug log, backtrace from gdb and output from valgrind. - Mitch On 03/01/2012 02:31 PM, Frediano Ziglio wrote: Tried to reproduce without success. Valgrind is always happy too :( Can you try to enable logging? Frediano 2012/3/1 <[email protected]><mailto:[email protected]>: > I'll see if I can track down exactly where it's getting confused. > > - Mitch > > On 02/29/2012 06:44 PM, James K. Lowden wrote: > > On Wed, 29 Feb 2012 08:58:39 -0800 > <[email protected]><mailto:[email protected]><mailto:[email protected]> wrote: > >> 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. > > On the error path from a connection failure, ct_connect() calls a host > of free_* routines, some of which call other freers, some through > pointers. It's possible something goes wrong. Not obvious, but > possible. > > You could attack it through your malloc(3). Most C standard libraries > have ways to make invalid frees fail in a noisy way. > > Thanks for reporting the problem... > > --jkl > _______________________________________________ > FreeTDS mailing list > [email protected]<mailto:[email protected]><mailto:[email protected]> > http://lists.ibiblio.org/mailman/listinfo/freetds > _______________________________________________ > FreeTDS mailing list > [email protected]<mailto:[email protected]> > http://lists.ibiblio.org/mailman/listinfo/freetds _______________________________________________ FreeTDS mailing list [email protected]<mailto:[email protected]> http://lists.ibiblio.org/mailman/listinfo/freetds _______________________________________________ FreeTDS mailing list [email protected] http://lists.ibiblio.org/mailman/listinfo/freetds
freetds.log
(text/x-log, 3 KB)
log.c:194:Starting log file for FreeTDS 0.92.dev.20120227 on 2012-03-02 20:33:23 with debug flags 0x4fff. iconv.c:328:tds_iconv_open(0x8064180, ISO-8859-1) iconv.c:185:local name for ISO-8859-1 is ISO-8859-1 iconv.c:185:local name for UTF-8 is UTF-8 iconv.c:185:local name for UCS-2LE is UCS-2LE iconv.c:185:local name for UCS-2BE is UCS-2BE iconv.c:347:setting up conversions for client charset "ISO-8859-1" iconv.c:349:preparing iconv for "ISO-8859-1" <-> "UCS-2LE" conversion iconv.c:389:preparing iconv for "ISO-8859-1" <-> "UCS-2LE" conversion iconv.c:392:tds_iconv_open: done net.c:203:Connecting to 10.0.2.231 port 1296500121 (TDS version 7.0) net.c:269:tds_open_socket: connect(2) returned "Operation now in progress" net.c:309:tds_open_socket() succeeded util.c:159:Changed query state from DEAD to IDLE login.c:790:quietly sending TDS 7+ login packet token.c:312:tds_process_login_tokens() net.c:567:Received header 0000 04 01 00 72 00 35 01 00- |...r.5..| net.c:621:Received packet 0000 04 01 00 72 00 35 01 00-aa 5e 00 18 48 00 00 01 |...r.5.. .^..H...| 0010 0e 21 00 4c 00 6f 00 67-00 69 00 6e 00 20 00 66 |.!.L.o.g .i.n. .f| 0020 00 61 00 69 00 6c 00 65-00 64 00 20 00 66 00 6f |.a.i.l.e .d. .f.o| 0030 00 72 00 20 00 75 00 73-00 65 00 72 00 20 00 27 |.r. .u.s .e.r. .'| 0040 00 77 00 65 00 62 00 73-00 65 00 6e 00 73 00 65 |.w.e.b.s .e.n.s.e| 0050 00 27 00 2e 00 08 57 00-45 00 42 00 53 00 45 00 |.'....W. E.B.S.E.| 0060 4e 00 53 00 45 00 00 01-00 fd 02 00 00 00 00 00 |N.S.E... ........| 0070 00 00 - |..| token.c:321:looking for login token, got aa(ERROR) token.c:107:tds_process_default_tokens() marker is aa(ERROR) token.c:2180:tds_process_msg() reading message 18456 from server token.c:2253:tds_process_msg() calling client msg handler ctutil.c:150:_ct_handle_server_message(0x8063250, 0x8064180, 0xf4175e38) ct.c:1861:ct_close(0x8063648, 301) mem.c:594:tds_free_all_results() util.c:159:Changed query state from IDLE to DEAD token.c:2266:tds_process_msg() returning TDS_SUCCESS token.c:321:looking for login token, got fd(DONE) token.c:107:tds_process_default_tokens() marker is fd(DONE) token.c:1931:tds_process_end: more_results = 0 was_cancelled = 0 error = 1 done_count_valid = 0 token.c:1947: rows_affected = 24117248 token.c:1950:tds_process_end() state set to TDS_IDLE util.c:159:Changed query state from DEAD to IDLE token.c:423:tds_process_login_tokens() returning TDS_FAIL login.c:465:login packet accepted util.c:315:tdserror(0x8063250, 0x8064180, 20056, 9) ctutil.c:96:_ct_handle_client_message(0x8063250, 0x8064180, 0xf4175edc) util.c:345:tdserror: client library returned TDS_INT_CANCEL(2) util.c:368:tdserror: returning TDS_INT_CANCEL(2) util.c:159:Changed query state from IDLE to DEAD util.c:315:tdserror(0x8063250, 0x8064180, 20002, 0) ctutil.c:96:_ct_handle_client_message(0x8063250, 0x8064180, 0xf4175f0c) util.c:345:tdserror: client library returned TDS_INT_CANCEL(2) util.c:368:tdserror: returning TDS_INT_CANCEL(2)
freetds.bt
(text/plain, 781 B)
(gdb) bt #0 0xf7fdf430 in __kernel_vsyscall () #1 0xf7d9c870 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #2 0xf7d9e0a8 in *__GI_abort () at abort.c:88 #3 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 #4 0xf7dddfd4 in malloc_printerr (action=2, str=0xf7e942b1 "corrupted double-linked list", ptr=0x8064320) at malloc.c:5994 #5 0xf7ddf697 in _int_free (av=0xf7eb2140, mem=0x8064500) at malloc.c:4717 #6 0xf7ddf8ac in *__GI___libc_free (mem=0x8064500) at malloc.c:3625 #7 0xf7f59f97 in tds_free_login (login=0x8064500) at mem.c:1066 #8 0xf7f4930a in ct_connect (con=0x8063648, servername=0x8063688 "10.0.2.231", snamelen=-9) at ct.c:657
freetds.valgrind
(text/plain, 18.5 KB)
==2770== Memcheck, a memory error detector ==2770== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al. ==2770== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info ==2770== Command: ./gsql ==2770== Mar 02 20:35:18 Server message; number 18456 severity 14 state 1 line 1; server: WEBSENSE; Login failed for user 'websense'. ==2770== Thread 5: ==2770== Invalid read of size 4 ==2770== at 0x494739C: tds_get_byte (read.c:70) ==2770== by 0x493E0C2: tds_process_login_tokens (token.c:320) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== by 0x804C58C: client_connect (client.c:100) ==2770== by 0x8052025: connect_client (main.c:163) ==2770== by 0x8052143: process_client (main.c:215) ==2770== by 0x490F10E: start_thread (pthread_create.c:297) ==2770== by 0x6E38BED: clone (clone.S:133) ==2770== Address 0x7a9c9a0 is 80 bytes inside a block of size 244 free'd ==2770== at 0x48CBC0C: free (vg_replace_malloc.c:427) ==2770== by 0x493B2E3: tds_free_socket (mem.c:1148) ==2770== by 0x492CC56: ct_close (ct.c:1863) ==2770== by 0x805B55D: servermsg_cb (tdsclient.c:363) ==2770== by 0x493925A: _ct_handle_server_message (ctutil.c:182) ==2770== by 0x4942C30: tds_process_msg (token.c:2254) ==2770== by 0x493DAED: tds_process_default_tokens (token.c:142) ==2770== by 0x493E4E7: tds_process_login_tokens (token.c:407) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== ==2770== Invalid read of size 4 ==2770== at 0x49473A2: tds_get_byte (read.c:70) ==2770== by 0x493E0C2: tds_process_login_tokens (token.c:320) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== by 0x804C58C: client_connect (client.c:100) ==2770== by 0x8052025: connect_client (main.c:163) ==2770== by 0x8052143: process_client (main.c:215) ==2770== by 0x490F10E: start_thread (pthread_create.c:297) ==2770== by 0x6E38BED: clone (clone.S:133) ==2770== Address 0x7a9c9a8 is 88 bytes inside a block of size 244 free'd ==2770== at 0x48CBC0C: free (vg_replace_malloc.c:427) ==2770== by 0x493B2E3: tds_free_socket (mem.c:1148) ==2770== by 0x492CC56: ct_close (ct.c:1863) ==2770== by 0x805B55D: servermsg_cb (tdsclient.c:363) ==2770== by 0x493925A: _ct_handle_server_message (ctutil.c:182) ==2770== by 0x4942C30: tds_process_msg (token.c:2254) ==2770== by 0x493DAED: tds_process_default_tokens (token.c:142) ==2770== by 0x493E4E7: tds_process_login_tokens (token.c:407) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== ==2770== Invalid read of size 4 ==2770== at 0x49473AC: tds_get_byte (read.c:74) ==2770== by 0x493E0C2: tds_process_login_tokens (token.c:320) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== by 0x804C58C: client_connect (client.c:100) ==2770== by 0x8052025: connect_client (main.c:163) ==2770== by 0x8052143: process_client (main.c:215) ==2770== by 0x490F10E: start_thread (pthread_create.c:297) ==2770== by 0x6E38BED: clone (clone.S:133) ==2770== Address 0x7a9c994 is 68 bytes inside a block of size 244 free'd ==2770== at 0x48CBC0C: free (vg_replace_malloc.c:427) ==2770== by 0x493B2E3: tds_free_socket (mem.c:1148) ==2770== by 0x492CC56: ct_close (ct.c:1863) ==2770== by 0x805B55D: servermsg_cb (tdsclient.c:363) ==2770== by 0x493925A: _ct_handle_server_message (ctutil.c:182) ==2770== by 0x4942C30: tds_process_msg (token.c:2254) ==2770== by 0x493DAED: tds_process_default_tokens (token.c:142) ==2770== by 0x493E4E7: tds_process_login_tokens (token.c:407) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== ==2770== Invalid read of size 4 ==2770== at 0x49473B2: tds_get_byte (read.c:74) ==2770== by 0x493E0C2: tds_process_login_tokens (token.c:320) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== by 0x804C58C: client_connect (client.c:100) ==2770== by 0x8052025: connect_client (main.c:163) ==2770== by 0x8052143: process_client (main.c:215) ==2770== by 0x490F10E: start_thread (pthread_create.c:297) ==2770== by 0x6E38BED: clone (clone.S:133) ==2770== Address 0x7a9c9a0 is 80 bytes inside a block of size 244 free'd ==2770== at 0x48CBC0C: free (vg_replace_malloc.c:427) ==2770== by 0x493B2E3: tds_free_socket (mem.c:1148) ==2770== by 0x492CC56: ct_close (ct.c:1863) ==2770== by 0x805B55D: servermsg_cb (tdsclient.c:363) ==2770== by 0x493925A: _ct_handle_server_message (ctutil.c:182) ==2770== by 0x4942C30: tds_process_msg (token.c:2254) ==2770== by 0x493DAED: tds_process_default_tokens (token.c:142) ==2770== by 0x493E4E7: tds_process_login_tokens (token.c:407) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== ==2770== Invalid read of size 1 ==2770== at 0x49473B8: tds_get_byte (read.c:74) ==2770== by 0x493E0C2: tds_process_login_tokens (token.c:320) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== by 0x804C58C: client_connect (client.c:100) ==2770== by 0x8052025: connect_client (main.c:163) ==2770== by 0x8052143: process_client (main.c:215) ==2770== by 0x490F10E: start_thread (pthread_create.c:297) ==2770== by 0x6E38BED: clone (clone.S:133) ==2770== Address 0x7b0a529 is 105 bytes inside a block of size 114 free'd ==2770== at 0x48CBC0C: free (vg_replace_malloc.c:427) ==2770== by 0x493B27F: tds_free_socket (mem.c:1138) ==2770== by 0x492CC56: ct_close (ct.c:1863) ==2770== by 0x805B55D: servermsg_cb (tdsclient.c:363) ==2770== by 0x493925A: _ct_handle_server_message (ctutil.c:182) ==2770== by 0x4942C30: tds_process_msg (token.c:2254) ==2770== by 0x493DAED: tds_process_default_tokens (token.c:142) ==2770== by 0x493E4E7: tds_process_login_tokens (token.c:407) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== ==2770== Invalid write of size 4 ==2770== at 0x49473C4: tds_get_byte (read.c:74) ==2770== by 0x493E0C2: tds_process_login_tokens (token.c:320) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== by 0x804C58C: client_connect (client.c:100) ==2770== by 0x8052025: connect_client (main.c:163) ==2770== by 0x8052143: process_client (main.c:215) ==2770== by 0x490F10E: start_thread (pthread_create.c:297) ==2770== by 0x6E38BED: clone (clone.S:133) ==2770== Address 0x7a9c9a0 is 80 bytes inside a block of size 244 free'd ==2770== at 0x48CBC0C: free (vg_replace_malloc.c:427) ==2770== by 0x493B2E3: tds_free_socket (mem.c:1148) ==2770== by 0x492CC56: ct_close (ct.c:1863) ==2770== by 0x805B55D: servermsg_cb (tdsclient.c:363) ==2770== by 0x493925A: _ct_handle_server_message (ctutil.c:182) ==2770== by 0x4942C30: tds_process_msg (token.c:2254) ==2770== by 0x493DAED: tds_process_default_tokens (token.c:142) ==2770== by 0x493E4E7: tds_process_login_tokens (token.c:407) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== ==2770== Invalid read of size 4 ==2770== at 0x493D966: tds_process_default_tokens (token.c:109) ==2770== by 0x493E4E7: tds_process_login_tokens (token.c:407) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== by 0x804C58C: client_connect (client.c:100) ==2770== by 0x8052025: connect_client (main.c:163) ==2770== by 0x8052143: process_client (main.c:215) ==2770== by 0x490F10E: start_thread (pthread_create.c:297) ==2770== by 0x6E38BED: clone (clone.S:133) ==2770== Address 0x7a9c950 is 0 bytes inside a block of size 244 free'd ==2770== at 0x48CBC0C: free (vg_replace_malloc.c:427) ==2770== by 0x493B2E3: tds_free_socket (mem.c:1148) ==2770== by 0x492CC56: ct_close (ct.c:1863) ==2770== by 0x805B55D: servermsg_cb (tdsclient.c:363) ==2770== by 0x493925A: _ct_handle_server_message (ctutil.c:182) ==2770== by 0x4942C30: tds_process_msg (token.c:2254) ==2770== by 0x493DAED: tds_process_default_tokens (token.c:142) ==2770== by 0x493E4E7: tds_process_login_tokens (token.c:407) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== ==2770== Invalid read of size 4 ==2770== at 0x49611BB: tds_close_socket (net.c:324) ==2770== by 0x493D9A8: tds_process_default_tokens (token.c:111) ==2770== by 0x493E4E7: tds_process_login_tokens (token.c:407) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== by 0x804C58C: client_connect (client.c:100) ==2770== by 0x8052025: connect_client (main.c:163) ==2770== by 0x8052143: process_client (main.c:215) ==2770== by 0x490F10E: start_thread (pthread_create.c:297) ==2770== by 0x6E38BED: clone (clone.S:133) ==2770== Address 0x7a9c950 is 0 bytes inside a block of size 244 free'd ==2770== at 0x48CBC0C: free (vg_replace_malloc.c:427) ==2770== by 0x493B2E3: tds_free_socket (mem.c:1148) ==2770== by 0x492CC56: ct_close (ct.c:1863) ==2770== by 0x805B55D: servermsg_cb (tdsclient.c:363) ==2770== by 0x493925A: _ct_handle_server_message (ctutil.c:182) ==2770== by 0x4942C30: tds_process_msg (token.c:2254) ==2770== by 0x493DAED: tds_process_default_tokens (token.c:142) ==2770== by 0x493E4E7: tds_process_login_tokens (token.c:407) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== ==2770== Invalid read of size 4 ==2770== at 0x49611BB: tds_close_socket (net.c:324) ==2770== by 0x4945B9C: tds_connect (login.c:466) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== by 0x804C58C: client_connect (client.c:100) ==2770== by 0x8052025: connect_client (main.c:163) ==2770== by 0x8052143: process_client (main.c:215) ==2770== by 0x490F10E: start_thread (pthread_create.c:297) ==2770== by 0x6E38BED: clone (clone.S:133) ==2770== Address 0x7a9c950 is 0 bytes inside a block of size 244 free'd ==2770== at 0x48CBC0C: free (vg_replace_malloc.c:427) ==2770== by 0x493B2E3: tds_free_socket (mem.c:1148) ==2770== by 0x492CC56: ct_close (ct.c:1863) ==2770== by 0x805B55D: servermsg_cb (tdsclient.c:363) ==2770== by 0x493925A: _ct_handle_server_message (ctutil.c:182) ==2770== by 0x4942C30: tds_process_msg (token.c:2254) ==2770== by 0x493DAED: tds_process_default_tokens (token.c:142) ==2770== by 0x493E4E7: tds_process_login_tokens (token.c:407) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== ==2770== Invalid read of size 4 ==2770== at 0x4945BA0: tds_connect (login.c:467) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== by 0x804C58C: client_connect (client.c:100) ==2770== by 0x8052025: connect_client (main.c:163) ==2770== by 0x8052143: process_client (main.c:215) ==2770== by 0x490F10E: start_thread (pthread_create.c:297) ==2770== by 0x6E38BED: clone (clone.S:133) ==2770== Address 0x7a9c960 is 16 bytes inside a block of size 244 free'd ==2770== at 0x48CBC0C: free (vg_replace_malloc.c:427) ==2770== by 0x493B2E3: tds_free_socket (mem.c:1148) ==2770== by 0x492CC56: ct_close (ct.c:1863) ==2770== by 0x805B55D: servermsg_cb (tdsclient.c:363) ==2770== by 0x493925A: _ct_handle_server_message (ctutil.c:182) ==2770== by 0x4942C30: tds_process_msg (token.c:2254) ==2770== by 0x493DAED: tds_process_default_tokens (token.c:142) ==2770== by 0x493E4E7: tds_process_login_tokens (token.c:407) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== ==2770== Invalid read of size 4 ==2770== at 0x4938E6A: _ct_handle_client_message (ctutil.c:98) ==2770== by 0x4944D2D: tdserror (util.c:344) ==2770== by 0x4945BC1: tds_connect (login.c:467) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== by 0x804C58C: client_connect (client.c:100) ==2770== by 0x8052025: connect_client (main.c:163) ==2770== by 0x8052143: process_client (main.c:215) ==2770== by 0x490F10E: start_thread (pthread_create.c:297) ==2770== by 0x6E38BED: clone (clone.S:133) ==2770== Address 0x7a9c95c is 12 bytes inside a block of size 244 free'd ==2770== at 0x48CBC0C: free (vg_replace_malloc.c:427) ==2770== by 0x493B2E3: tds_free_socket (mem.c:1148) ==2770== by 0x492CC56: ct_close (ct.c:1863) ==2770== by 0x805B55D: servermsg_cb (tdsclient.c:363) ==2770== by 0x493925A: _ct_handle_server_message (ctutil.c:182) ==2770== by 0x4942C30: tds_process_msg (token.c:2254) ==2770== by 0x493DAED: tds_process_default_tokens (token.c:142) ==2770== by 0x493E4E7: tds_process_login_tokens (token.c:407) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== ==2770== Invalid read of size 4 ==2770== at 0x4938E74: _ct_handle_client_message (ctutil.c:99) ==2770== by 0x4944D2D: tdserror (util.c:344) ==2770== by 0x4945BC1: tds_connect (login.c:467) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== by 0x804C58C: client_connect (client.c:100) ==2770== by 0x8052025: connect_client (main.c:163) ==2770== by 0x8052143: process_client (main.c:215) ==2770== by 0x490F10E: start_thread (pthread_create.c:297) ==2770== by 0x6E38BED: clone (clone.S:133) ==2770== Address 0x7a9c95c is 12 bytes inside a block of size 244 free'd ==2770== at 0x48CBC0C: free (vg_replace_malloc.c:427) ==2770== by 0x493B2E3: tds_free_socket (mem.c:1148) ==2770== by 0x492CC56: ct_close (ct.c:1863) ==2770== by 0x805B55D: servermsg_cb (tdsclient.c:363) ==2770== by 0x493925A: _ct_handle_server_message (ctutil.c:182) ==2770== by 0x4942C30: tds_process_msg (token.c:2254) ==2770== by 0x493DAED: tds_process_default_tokens (token.c:142) ==2770== by 0x493E4E7: tds_process_login_tokens (token.c:407) ==2770== by 0x4945B2D: tds_connect (login.c:464) ==2770== by 0x4945D9C: tds_connect_and_login (login.c:506) ==2770== by 0x492A294: ct_connect (ct.c:646) ==2770== by 0x805A6FE: tdsclient_connect (tdsclient.c:148) ==2770== Mar 02 20:35:18 Server message; number 18456 severity 14 state 1 line 1; server: WEBSENSE; Login failed for user 'websense'. Mar 02 20:35:18 Server message; number 18456 severity 14 state 1 line 1; server: WEBSENSE; Login failed for user 'websense'. Mar 02 20:35:18 Server message; number 18456 severity 14 state 1 line 1; server: WEBSENSE; Login failed for user 'websense'. Mar 02 20:35:18 Server message; number 18456 severity 14 state 1 line 1; server: WEBSENSE; Login failed for user 'websense'. 76 ==2770== ==2770== HEAP SUMMARY: ==2770== in use at exit: 220 bytes in 6 blocks ==2770== total heap usage: 3,105 allocs, 3,099 frees, 923,421 bytes allocated ==2770== ==2770== LEAK SUMMARY: ==2770== definitely lost: 0 bytes in 0 blocks ==2770== indirectly lost: 0 bytes in 0 blocks ==2770== possibly lost: 0 bytes in 0 blocks ==2770== still reachable: 220 bytes in 6 blocks ==2770== suppressed: 0 bytes in 0 blocks ==2770== Rerun with --leak-check=full to see details of leaked memory ==2770== ==2770== For counts of detected and suppressed errors, rerun with: -v ==2770== ERROR SUMMARY: 60 errors from 12 contexts (suppressed: 47 from 8)