[libglnx] macros: Add a size check for hashtable iters



commit a37e672739197b8a7f3bdfe3f17099fe402f9a98
Author: Colin Walters <walters verbum org>
Date:   Fri Jun 30 12:11:14 2017 -0400

    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 files changed, 2 insertions(+), 0 deletions(-)
---
diff --git a/glnx-macros.h b/glnx-macros.h
index 24705af..1d4e175 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)                                                        \


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]