From: Nathan Ruiz Date: Fri, 16 Nov 2018 05:41:30 +0000 (+1100) Subject: Fix chpasswd long line handling X-Git-Tag: 4.7~14^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a8f713211361f84009772c1f2a86ce58cfe96b14;p=shadow Fix chpasswd long line handling --- diff --git a/src/chpasswd.c b/src/chpasswd.c index 49e79cdb..d1c1043a 100644 --- a/src/chpasswd.c +++ b/src/chpasswd.c @@ -432,6 +432,15 @@ int main (int argc, char **argv) *cp = '\0'; } else { if (feof (stdin) == 0) { + + // Drop all remaining characters on this line. + while (fgets (buf, (int) sizeof buf, stdin) != (char *) 0) { + cp = strchr (buf, '\n'); + if (cp != NULL) { + break; + } + } + fprintf (stderr, _("%s: line %d: line too long\n"), Prog, line);