From: Lennart Poettering Date: Fri, 14 Dec 2018 11:56:12 +0000 (+0100) Subject: fileio: fail early if we can't return the number of bytes we read anymore in an int X-Git-Tag: v240~57^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=31fd02f00977720c20c9cdd74342697b593dee9b;p=thirdparty%2Fsystemd.git fileio: fail early if we can't return the number of bytes we read anymore in an int This is mostly paranoia, but let's better be safer than sorry. This of course means there's always an implicit limit to how much we can read at a time of 2G. But that should be ample. --- diff --git a/src/basic/fileio.c b/src/basic/fileio.c index 83f1f508dd4..d434cb4d2c9 100644 --- a/src/basic/fileio.c +++ b/src/basic/fileio.c @@ -762,6 +762,9 @@ int read_line(FILE *f, size_t limit, char **ret) { if (n >= limit) return -ENOBUFS; + if (count >= INT_MAX) /* We couldn't return the counter anymore as "int", hence refuse this */ + return -ENOBUFS; + errno = 0; c = fgetc_unlocked(f); if (c == EOF) {