From 3ff24a8eb452272b72d627fb25fba38a6790b5ba Mon Sep 17 00:00:00 2001 From: Yayo Razo Date: Sat, 11 Jul 2026 14:22:48 -0600 Subject: [PATCH] fix(compat): guard buffer size multiplication in getline --- compat/getline.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/compat/getline.c b/compat/getline.c index 90437ccb9..feabdd43c 100644 --- a/compat/getline.c +++ b/compat/getline.c @@ -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;