diff options
author | Bruno Haible <bruno@clisp.org> | 2007-12-31 11:53:40 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2007-12-31 11:53:40 +0100 |
commit | bffe05f44cce9d4f948bb1286097cea293a067f6 (patch) | |
tree | 589352d4f73770a805ce105cf945f6832b6c0252 /lib/mbscasestr.c | |
parent | 666d3eddd79973c9ef06e875a1dc41702bac6443 (diff) | |
download | gnulib-bffe05f44cce9d4f948bb1286097cea293a067f6.tar.gz |
Protect against integer overflow in malloca() calls.
Diffstat (limited to 'lib/mbscasestr.c')
-rw-r--r-- | lib/mbscasestr.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/mbscasestr.c b/lib/mbscasestr.c index a5491e4c9b..7205cca1e9 100644 --- a/lib/mbscasestr.c +++ b/lib/mbscasestr.c @@ -42,7 +42,7 @@ knuth_morris_pratt_unibyte (const char *haystack, const char *needle, size_t m = strlen (needle); /* Allocate the table. */ - size_t *table = (size_t *) malloca (m * sizeof (size_t)); + size_t *table = (size_t *) nmalloca (m, sizeof (size_t)); if (table == NULL) return false; /* Fill the table. @@ -164,7 +164,7 @@ knuth_morris_pratt_multibyte (const char *haystack, const char *needle, size_t *table; /* Allocate room for needle_mbchars and the table. */ - char *memory = (char *) malloca (m * (sizeof (mbchar_t) + sizeof (size_t))); + char *memory = (char *) nmalloca (m, sizeof (mbchar_t) + sizeof (size_t)); if (memory == NULL) return false; needle_mbchars = (mbchar_t *) memory; |