From 31fd02f00977720c20c9cdd74342697b593dee9b Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 14 Dec 2018 12:56:12 +0100 Subject: [PATCH] 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. --- src/basic/fileio.c | 3 +++ 1 file changed, 3 insertions(+) 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) { -- 2.47.3