[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: smtp crashing



On Mon, Sep 01, 2003 at 03:40:36PM +0100, Alex Kiernan wrote:
> I've got the smtp transport crashing (latest from CVS):
> 
> =>[1] csfgets(s = 0xfefd0000 "", n = -1, stream = 0xbbed8), line 56 in "cfgets.c"
>   [2] appendlet(SS = 0xffbe92f0, dp = 0xb8368, convertmode = _CONVERT_8BIT, CT = 0xb95a8), line 147 in "appendlet.c"
>   [3] deliver(SS = 0xffbe92f0, dp = 0xb8368, startrp = 0xb8dd8, endrp = (nil), host = 0xb94c8 "<removed>", noMX = 0), line 1987 in "smtp.c"
>   [4] process(SS = 0xffbe92f0, dp = 0xb8368, smtpstatus = 0, host = 0xb94c8 "<removed>", noMX = 0), line 998 in "smtp.c"
>   [5] main(argc = 2, argv = 0xffbefeec), line 930 in "smtp.c"
> 
> Any ideas?

Yes, this is copy&paste from xterm, TABs are not preserved, but
this is the bug: 

RCS file: /home/mea/src/CVSROOT/zmailer/transports/libta/ctlopen.c,v 
retrieving revision 1.44
diff -u -r1.44 ctlopen.c
--- transports/libta/ctlopen.c  28 Aug 2003 15:28:40 -0000      1.44
+++ transports/libta/ctlopen.c  1 Sep 2003 16:38:56 -0000
@@ -795,7 +795,7 @@
        fcntl(d->msgfd, F_SETFD, 1); /* Close-on-exec */
 
 #if defined(HAVE_MMAP)
-       if (ta_use_mmap) {
+       if (ta_use_mmap > 0) {
          d->let_buffer = (char *)mmap(NULL, stbuf.st_size, PROT_READ,
                                       MAP_FILE|MAP_SHARED|MAP_VARIABLE,
                                       d->msgfd, 0);

> Looks like cfgets got called with dp->let_buffer_size == 0 and
> dp->let_buffer is uninitialised.

For some reason I didn't encounter the bug myself..
(and no, I don't have  TA_USE_MMAP=1  in my setup..)

> -- 
> Alex Kiernan, Principal Engineer, Development, THUS plc
-- 
/Matti Aarnio	<mea@nic.funet.fi>
-
To unsubscribe from this list: send the line "unsubscribe zmailer" in
the body of a message to majordomo@nic.funet.fi