diff options
author | Bruno Haible <bruno@clisp.org> | 2018-02-03 00:32:41 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2018-02-03 00:32:41 +0100 |
commit | f0dc63fc7ec039999981a4b7555f725c0aa65cc7 (patch) | |
tree | 28491b2da8c976667447992cd8d40c5f57810d39 /lib/malloca.c | |
parent | 1cbad88ad55560234c43faa138d04d05cdf0562a (diff) | |
download | gnulib-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.c | 6 |
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) { |