From 8b7d76c3679d48ea08ad75ff839edb17e6195acd Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Tue, 14 Jul 1998 13:45:37 +0000 Subject: Added nosyslog. svn path=/trunk/; revision=1967 --- driver.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'driver.c') diff --git a/driver.c b/driver.c index cd632afd..220ce41a 100644 --- a/driver.c +++ b/driver.c @@ -1630,7 +1630,7 @@ int len; /* length of message */ flag forward; /* TRUE to forward */ { int linelen; - unsigned char buf[MSGBUFSIZE+1]; + unsigned char buf[MSGBUFSIZE+4]; unsigned char *inbufp = buf; flag issoftline = FALSE; @@ -1638,7 +1638,7 @@ flag forward; /* TRUE to forward */ while (protocol->delimited || len > 0) { set_timeout(ctl->server.timeout); - if ((linelen = SockRead(sock, inbufp, sizeof(buf)-1-(inbufp-buf)))==-1) + if ((linelen = SockRead(sock, inbufp, sizeof(buf)-4-(inbufp-buf)))==-1) { set_timeout(0); if (ctl->mda) @@ -1694,9 +1694,16 @@ flag forward; /* TRUE to forward */ /* ship out the text line */ if (forward && (!issoftline)) { - int n = stuffline(ctl, buf); + int n; inbufp = buf; + /* guard against very long lines */ + buf[MSGBUFSIZE+1] = '\r'; + buf[MSGBUFSIZE+2] = '\n'; + buf[MSGBUFSIZE+3] = '\0'; + + n = stuffline(ctl, buf); + if (n < 0) { error(0, errno, "writing message text"); -- cgit v1.2.3