diff options
author | Eric S. Raymond <esr@thyrsus.com> | 1998-07-14 13:45:37 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 1998-07-14 13:45:37 +0000 |
commit | 8b7d76c3679d48ea08ad75ff839edb17e6195acd (patch) | |
tree | 9f14bdaa8e1df4037fe8a9ebd4ba6133c3448e0d /driver.c | |
parent | df80d21fdc13f93d9f5cc39a3525dd8698988a83 (diff) | |
download | fetchmail-8b7d76c3679d48ea08ad75ff839edb17e6195acd.tar.gz fetchmail-8b7d76c3679d48ea08ad75ff839edb17e6195acd.tar.bz2 fetchmail-8b7d76c3679d48ea08ad75ff839edb17e6195acd.zip |
Added nosyslog.
svn path=/trunk/; revision=1967
Diffstat (limited to 'driver.c')
-rw-r--r-- | driver.c | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -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"); |