truncate excessively long header lines
authorEric Allman <eric@ucbvax.Berkeley.EDU>
Mon, 9 Aug 1982 07:55:17 +0000 (23:55 -0800)
committerEric Allman <eric@ucbvax.Berkeley.EDU>
Mon, 9 Aug 1982 07:55:17 +0000 (23:55 -0800)
SCCS-vsn: usr.sbin/sendmail/src/collect.c 3.45

usr/src/usr.sbin/sendmail/src/collect.c

index f029338..bf2baa7 100644 (file)
@@ -1,7 +1,7 @@
 # include <errno.h>
 # include "sendmail.h"
 
 # include <errno.h>
 # include "sendmail.h"
 
-SCCSID(@(#)collect.c   3.44            %G%);
+SCCSID(@(#)collect.c   3.45            %G%);
 
 /*
 **  COLLECT -- read & parse message header & make temp file.
 
 /*
 **  COLLECT -- read & parse message header & make temp file.
@@ -114,6 +114,14 @@ maketemp(from)
                register char c;
                extern bool isheader();
 
                register char c;
                extern bool isheader();
 
+               /* if the line is too long, throw the rest away */
+               if (index(buf, '\n') == NULL)
+               {
+                       while ((c = getc(InChannel)) != '\n')
+                               continue;
+                       /* give an error? */
+               }
+
                fixcrlf(buf, FALSE);
 
                /* see if the header is over */
                fixcrlf(buf, FALSE);
 
                /* see if the header is over */