From a37e672739197b8a7f3bdfe3f17099fe402f9a98 Mon Sep 17 00:00:00 2001 From: Colin Walters <walters@verbum.org> Date: Fri, 30 Jun 2017 12:11:14 -0400 Subject: [PATCH] macros: Add a size check for hashtable iters If the user provides a less than pointer-sized type, we'll clobber other things on the stack. See https://github.com/ostreedev/ostree/pull/990/ --- glnx-macros.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/glnx-macros.h b/glnx-macros.h index 24705afd8..1d4e1753e 100644 --- a/glnx-macros.h +++ b/glnx-macros.h @@ -120,6 +120,8 @@ G_BEGIN_DECLS #define _GLNX_HASH_TABLE_FOREACH_IMPL_KV(guard, ht, it, kt, k, vt, v) \ gboolean guard = TRUE; \ + G_STATIC_ASSERT (sizeof (kt) == sizeof (void*)); \ + G_STATIC_ASSERT (sizeof (vt) == sizeof (void*)); \ for (GHashTableIter it; \ guard && ({ g_hash_table_iter_init (&it, ht), TRUE; }); \ guard = FALSE) \ -- GitLab