From f1c88d2ef7d0860d2374e325d0b26febc11479b7 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 29 Dec 2007 01:17:08 -0800 Subject: [PATCH] * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow when multiplying M by sizeof (size_t). --- ChangeLog | 5 +++++ lib/memmem.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 364a429f2f..ada100e7e2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-12-29 Paul Eggert + + * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow + when multiplying M by sizeof (size_t). + 2007-12-10 Martin Lambers Override getpagesize on mingw. diff --git a/lib/memmem.c b/lib/memmem.c index 58f95f73b1..b7f3e12c6c 100644 --- a/lib/memmem.c +++ b/lib/memmem.c @@ -39,7 +39,10 @@ knuth_morris_pratt (const char *haystack, const char *last_haystack, const char **resultp) { /* Allocate the table. */ - size_t *table = (size_t *) malloca (m * sizeof (size_t)); + size_t *table; + if ((size_t) -1 / sizeof (size_t) < m) + return false; + table = (size_t *) malloca (m * sizeof (size_t)); if (table == NULL) return false; /* Fill the table. -- 2.30.2