Index: contrib/dma/mail.c =================================================================== --- contrib/dma/mail.c +++ contrib/dma/mail.c @@ -405,10 +405,8 @@ if ((ssize_t)error < 0) return (-1); - while (!feof(stdin)) { + while ((linelen = getline(&line, &linecap, stdin)) > 0) { newline[0] = '\0'; - if ((linelen = getline(&line, &linecap, stdin)) <= 0) - break; if (had_last_line) errlogx(EX_DATAERR, "bad mail input format:" " from %s (uid %d) (envelope-from %s)", @@ -510,8 +508,8 @@ } } } - - ret = 0; + if (ferror(stdin) == 0) + ret = 0; fail: free(line); return (ret);