summaryrefslogtreecommitdiff
path: root/lib/malloca.c
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2018-02-03 00:32:41 +0100
committerBruno Haible <bruno@clisp.org>2018-02-03 00:32:41 +0100
commitf0dc63fc7ec039999981a4b7555f725c0aa65cc7 (patch)
tree28491b2da8c976667447992cd8d40c5f57810d39 /lib/malloca.c
parent1cbad88ad55560234c43faa138d04d05cdf0562a (diff)
downloadgnulib-f0dc63fc7ec039999981a4b7555f725c0aa65cc7.tar.gz
malloca: Add an argument check.
Suggested by Paul Eggert. * lib/malloca.c (freea): Check against an invalid argument.
Diffstat (limited to 'lib/malloca.c')
-rw-r--r--lib/malloca.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/malloca.c b/lib/malloca.c
index 5741cba6f1..c5321d17e9 100644
--- a/lib/malloca.c
+++ b/lib/malloca.c
@@ -78,6 +78,12 @@ mmalloca (size_t n)
void
freea (void *p)
{
+ /* Check argument. */
+ if ((uintptr_t) p & (sa_alignment_max - 1))
+ {
+ /* p was not the result of a malloca() call. Invalid argument. */
+ abort ();
+ }
/* Determine whether p was a non-NULL pointer returned by mmalloca(). */
if ((uintptr_t) p & sa_alignment_max)
{