check integer overflow for multiplication before realloc

This commit is contained in:
Hiltjo Posthuma committed 2026-10-27 21:09:38 +01:00
1 parent 8627d0c659
commit 7c0334de3d
1 file changed
+3
+3
View File
@@ -1,6 +1,7 @@
/* See LICENSE file for copyright and license details. */
#include <ctype.h>
#include <locale.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -556,6 +557,8 @@ readstdin(void)
for (i = 0; (len = getline(&line, &linesiz, stdin)) != -1; i++) {
if (i + 1 >= itemsiz) {
itemsiz += 256;
if (itemsiz > SIZE_MAX / sizeof(*items))
die("too many items");
if (!(items = realloc(items, itemsiz * sizeof(*items))))
die("cannot realloc %zu bytes:", itemsiz * sizeof(*items));
}