changeset 39237:a675c796ba51

malloca: Add an argument check. Suggested by Paul Eggert. * lib/malloca.c (freea): Check against an invalid argument.
author Bruno Haible <bruno@clisp.org>
date Sat, 03 Feb 2018 00:32:41 +0100
parents 2d4269b0a867
children e5bf6ab0bb97
files ChangeLog lib/malloca.c
diffstat 2 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Feb 02 21:34:14 2018 +0100
+++ b/ChangeLog	Sat Feb 03 00:32:41 2018 +0100
@@ -1,3 +1,9 @@
+2018-02-02  Bruno Haible  <bruno@clisp.org>
+
+	malloca: Add an argument check.
+	Suggested by Paul Eggert.
+	* lib/malloca.c (freea): Check against an invalid argument.
+
 2018-02-02  Bruno Haible  <bruno@clisp.org>
 
 	localename: Add support for OpenIndiana.
--- a/lib/malloca.c	Fri Feb 02 21:34:14 2018 +0100
+++ b/lib/malloca.c	Sat Feb 03 00:32:41 2018 +0100
@@ -78,6 +78,12 @@
 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)
     {