I just tried half a dozen -W...format... variations and could not get this
error reported :-\  Looks like the problem is GCC doesn't believe that trace()
is in the printf() family. Convince it of that, and the errors should abound.

Turn on -pedantic and -std=c99 to get some interesting warnings, though!

Aaron


Ilja Booij <[EMAIL PROTECTED]> said:

> Hi,
> 
> I guess I've found a reason why I got crashes and you didn't. I 
> triggered a bug in bounce.c, because I was trying to send mail to a user 
> whose mailbox would overflow. The trace message which logs the reason of 
> the bounce had a typo, missing a comma between the "string" and the 
> __FILE__ argument. Adding the comma did the trick.
> 
> There is a way to let the compiler find these kinds of errors at compile 
> time (some GNU extension). I'll look for it, because there's bound to be 
> more errors like this, now or in the future.
> 
> Another thing: Remove -fomit-frame-pointer from AM_CFLAGS in Makefile.am 
>   and run automake if you need to do debugging.. I had a hard time with 
> gdb before realizing that I needed to do this.. :(
> 
> Ilja
> 
> Aaron Stone wrote:
> > Oops! There's a double free. When the list of raw addresses from
> > mail_adr_list() is copied into dsnusers list by wrapping each addresses 
> > into a
> > dsn structure, the address pointer is pointed into the address list rather
> > than actually copied. So dsnuser_free() and list_freelist() both free the
address.
> > 
> > The simple fix is to strdup() the address. A more involved fix is to have a
> > flag that lets dsnuser_free() know if it owns the address pointer or not. 
> > I'm
> > inclined to go with the former; a patch is posted on SourceForge.
> > 
> > Thanks for committing the patch!
> > 
> > Aaron
> > 
> > 
> > Ilja Booij <[EMAIL PROTECTED]> said:
> > 
> > 
> >>Hi all,
> >>
> >>starting a new thread here, I kind of lost track of the previous one and 
> >>might have deleted some emails that I should not have deleted...
> >>
> >>Anyway, I applied the latest set of patches made by Aaron.
> >>Most stuff seems to work, but there is some stuff that is not working.
> >>
> >>When I take a test-message and send that using
> >>dbmail-smtp -n (using Deliver-To: <address> in the message)
> >>dbmail segfaults. It segfaults on freeing the users list
> >>
> >>(line 340 of main.c: list_freelist(users.start);)
> >>
> >>There are two other things (these were already there before applying 
> >>Aaron's patches:
> >>
> >>* the read_header() function in header.c seems to hang on an fgets().
> >>* dbmail sometimes segfaults on the delivery of a message (another 
> >>segfault than the one mentioned above)
> >>
> >>Ilja
> >>
> >>_______________________________________________
> >>Dbmail-dev mailing list
> >>Dbmail-dev@dbmail.org
> >>http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> >>
> > 
> > 
> > 
> > 
> _______________________________________________
> Dbmail-dev mailing list
> Dbmail-dev@dbmail.org
> http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> 



-- 



Reply via email to