Jorge Bastos wrote: > Ops, still has the problem, check: > > [New Thread 0xaecffb90 (LWP 19496)] > [New Thread 0xae4ffb90 (LWP 19497)] > *** glibc detected *** /usr/local/sbin/dbmail-imapd: free(): invalid > pointer: 0x0805cca0 *** > ======= Backtrace: ========= > /lib/libc.so.6[0xb7c0cac5] > /lib/libc.so.6(cfree+0x9c)[0xb7c0e37c] > /usr/lib/libglib-2.0.so.0(g_free+0x36)[0xb7e71796] > /usr/local/sbin/dbmail-imapd(imap_idle_loop+0x180)[0x8054090] > /usr/local/sbin/dbmail-imapd(_ic_idle_enter+0xc7)[0x8054187] > /usr/local/lib/dbmail/libdbmail.so.0[0xb7d2085c] > /usr/lib/libglib-2.0.so.0[0xb7e94b96] > /usr/lib/libglib-2.0.so.0[0xb7e9354f] > /lib/libpthread.so.0[0xb7b8ff20] > /lib/libc.so.6(clone+0x5e)[0xb7c6e3de] > ======= Memory map: ======== > 08048000-08062000 r-xp 00000000 09:00 14684 > /usr/local/sbin/dbmail-imapd > 08062000-08063000 rw-p 00019000 09:00 14684 > /usr/local/sbin/dbmail-imapd > 08063000-08db4000 rw-p 00000000 00:00 0 [heap] > > > (gdb) f 5 > #5 0xb7e71796 in g_free () from /usr/lib/libglib-2.0.so.0 > (gdb) f 6 > #6 0x08054090 in imap_idle_loop (self=0x0, timeout=30) at > imapcommands.c:1089 > 1089 g_free(D->data); > (gdb) f 7 > #7 0x08054187 in _ic_idle_enter (D=0x8d127c0) at imapcommands.c:1133 > 1133 if ((t = imap_idle_loop(self, idle_timeout))) { > (gdb) f 8 > #8 0xb7d2085c in dm_thread_dispatch (data=0x8d127c0, user_data=0x0) > at server.c:152 > 152 D->cb_enter(D); > (gdb) f 9 > #9 0xb7e94b96 in ?? () from /usr/lib/libglib-2.0.so.0 > (gdb) f 10 > > > > > I added the IF you suggested, and and on line 1089 of imapcommands.c I have: > -- > g_free(D->data); > -- > > > Part of the code before and after: > > > > 1084- dm_thread_data *D = (gpointer)data; > 1085- message = (char *)D->data; > 1086- if (strlen(message) > 4 && > strncasecmp(message,"DONE",4) > 1087- ==0) { > 1088- if (D != NULL) { > 1089- g_free(D->data); > 1090- g_free(D); > 1091-} > 1092- > 1093- return 0; > 1094- } else if (strlen(message) > 0) { > > > _______________________________________________ > Dbmail-dev mailing list > Dbmail-dev@dbmail.org > http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail-dev > >
Looks like you missed the 2nd if. Should be if () { if () blah blah } return -- Scanned for viruses and dangerous content by MailScanner _______________________________________________ Dbmail-dev mailing list Dbmail-dev@dbmail.org http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail-dev