summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-04-21 13:33:25 +0200
committerChristian Grothoff <christian@grothoff.org>2020-04-21 13:33:25 +0200
commit3776e3a77bff3f3d7091e91aac2e1b6b3425b28d (patch)
tree558afb2b21de153b023bfd399c64f2a97557642c
parente938b8617332a9d04c1620a6a93e25478410d98b (diff)
fix #6189
-rw-r--r--src/include/gnunet_common.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/include/gnunet_common.h b/src/include/gnunet_common.h
index 9e7c77786..fcc510ec9 100644
--- a/src/include/gnunet_common.h
+++ b/src/include/gnunet_common.h
@@ -1209,7 +1209,10 @@ GNUNET_is_zero_ (const void *a,
* @param n number of elements in the array
* @param type name of the struct or union, i.e. pass 'struct Foo'.
*/
-#define GNUNET_new_array(n, type) (type *) GNUNET_malloc ((n) * sizeof(type))
+#define GNUNET_new_array(n, type) ({ \
+ GNUNET_assert (SIZE_MAX / sizeof (type) >= n); \
+ (type *) GNUNET_malloc ((n) * sizeof(type)); \
+ })
/**
* @ingroup memory