From 2a903a43ad7d26f5581d4ad1bbc077f8ecc5f5a9 Mon Sep 17 00:00:00 2001 From: Philipp Takacs Date: Sun, 24 Apr 2016 12:29:32 +0200 Subject: [PATCH] check for to long lines and ioerror in spost Now spost stop and exit if some error happend. Befor this spost stoped on an error in the body and submitted a half mail. --- uip/spost.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/uip/spost.c b/uip/spost.c index 53ae86a..4e9e7ce 100644 --- a/uip/spost.c +++ b/uip/spost.c @@ -244,6 +244,9 @@ main(int argc, char **argv) finish_headers(out); fprintf(out, "\n%s", f.value); while ((state = m_getfld2(state, &f, in)) == BODY2) { + if (f.valuelen >= NAMESZ) { + adios(EX_DATAERR, NULL, "Body contains a to long line"); + } fputs(f.value, out); } break; @@ -265,6 +268,10 @@ main(int argc, char **argv) } fclose(in); + if (status != FILEEOF2) { + adios(EX_IOERR, "m_getfld2", "Error while reading body"); + } + if (debug) { struct mailname *i = recipients; /* stop here */ -- 1.7.10.4