From 19086497ab9d495cadb485b6a5c6524c85a2a5ef Mon Sep 17 00:00:00 2001 From: Cody Russell Date: Fri, 15 Jun 2007 03:50:27 +0000 Subject: [PATCH] Check for 0-sized private data. (#443869) 2007-06-14 Cody Russell * gobject/gtype.c (g_type_class_add_private): Check for 0-sized private data. (#443869) svn path=/trunk/; revision=5561 --- ChangeLog | 5 +++++ gobject/gtype.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index be68393..77c3d25 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-06-14 Cody Russell + + * gobject/gtype.c (g_type_class_add_private): Check for 0-sized + private data. (#443869) + 2007-06-14 Matthias Clasen * glib/gmain.c (g_timeout_add_seconds): Fix doc typos. (#447534, diff --git a/gobject/gtype.c b/gobject/gtype.c index 44620db..17a304d 100644 --- a/gobject/gtype.c +++ b/gobject/gtype.c @@ -3483,6 +3483,8 @@ g_type_class_add_private (gpointer g_class, TypeNode *node = lookup_type_node_I (instance_type); gsize offset; + g_return_if_fail (private_size > 0); + if (!node || !node->is_instantiatable || !node->data || node->data->class.class != g_class) { g_warning ("cannot add private field to invalid (non-instantiatable) type '%s'", -- 2.7.4