Merge pull request #5365 from YayoRazo/fix/getline-fgetln-overflow

fix(compat): guard buffer size multiplication in getline
This commit is contained in:
Nicholas Marriott
2026-07-12 21:18:37 +01:00
committed by GitHub

View File

@@ -74,8 +74,14 @@ getdelim(char **buf, size_t *bufsiz, int delimiter, FILE *fp)
}
if (ptr + 2 >= eptr) {
char *nbuf;
size_t nbufsiz = *bufsiz * 2;
size_t nbufsiz;
ssize_t d = ptr - *buf;
if (*bufsiz > SIZE_MAX / 2) {
errno = EOVERFLOW;
return -1;
}
nbufsiz = *bufsiz * 2;
if ((nbuf = realloc(*buf, nbufsiz)) == NULL)
return -1;
*buf = nbuf;