From cb2a9b92c3a978e540f4d9cc8e5687d121db1895 Mon Sep 17 00:00:00 2001 From: Michael Terry Date: Fri, 23 Sep 2011 13:53:38 -0400 Subject: unref added children in proxy code --- libdbusmenu-glib/menuitem-proxy.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libdbusmenu-glib/menuitem-proxy.c b/libdbusmenu-glib/menuitem-proxy.c index ae6a334..fdbd892 100644 --- a/libdbusmenu-glib/menuitem-proxy.c +++ b/libdbusmenu-glib/menuitem-proxy.c @@ -188,6 +188,7 @@ proxy_item_child_added (DbusmenuMenuitem * parent, DbusmenuMenuitem * child, gui DbusmenuMenuitemProxy * pmi = DBUSMENU_MENUITEM_PROXY(user_data); DbusmenuMenuitemProxy * child_pmi = dbusmenu_menuitem_proxy_new(child); dbusmenu_menuitem_child_add_position(DBUSMENU_MENUITEM(pmi), DBUSMENU_MENUITEM(child_pmi), position); + g_object_unref (child_pmi); return; } @@ -283,6 +284,7 @@ add_menuitem (DbusmenuMenuitemProxy * pmi, DbusmenuMenuitem * mi) for (child = children; child != NULL; child = g_list_next(child)) { DbusmenuMenuitemProxy * child_pmi = dbusmenu_menuitem_proxy_new(DBUSMENU_MENUITEM(child->data)); dbusmenu_menuitem_child_append(DBUSMENU_MENUITEM(pmi), DBUSMENU_MENUITEM(child_pmi)); + g_object_unref (child_pmi); } return; -- cgit v1.2.3 From 62ad6229ccf90ecbd93738d4ca6c547b02bab52e Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 23 Sep 2011 14:54:25 -0500 Subject: Protect against an odd crash. Not sure how the private becomes 'NULL' --- libdbusmenu-glib/server.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libdbusmenu-glib/server.c b/libdbusmenu-glib/server.c index a41e6ce..7bfac3a 100644 --- a/libdbusmenu-glib/server.c +++ b/libdbusmenu-glib/server.c @@ -1188,7 +1188,9 @@ error_quark (void) static void bus_get_layout (DbusmenuServer * server, GVariant * params, GDBusMethodInvocation * invocation) { + g_return_if_fail(DBUSMENU_IS_SERVER(server)); DbusmenuServerPrivate * priv = DBUSMENU_SERVER_GET_PRIVATE(server); + g_return_if_fail(priv != NULL); /* Input */ gint parent = g_variant_get_int32(g_variant_get_child_value(params, 0)); -- cgit v1.2.3 From 1c9f6b8933989d1fa23147cffc83d9976b08e831 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 23 Sep 2011 15:32:58 -0500 Subject: Protect an external function better --- libdbusmenu-glib/client.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c index 24d5c5d..a98ae98 100644 --- a/libdbusmenu-glib/client.c +++ b/libdbusmenu-glib/client.c @@ -1578,7 +1578,11 @@ about_to_show_cb (GObject * proxy, GAsyncResult * res, gpointer userdata) void dbusmenu_client_send_about_to_show(DbusmenuClient * client, gint id, void (*cb)(gpointer data), gpointer cb_data) { + g_return_if_fail(DBUSMENU_CLIENT(client)); + g_return_if_fail(id > 0); + DbusmenuClientPrivate * priv = DBUSMENU_CLIENT_GET_PRIVATE(client); + g_return_if_fail(priv != NULL); about_to_show_t * data = g_new0(about_to_show_t, 1); data->client = client; -- cgit v1.2.3 -- cgit v1.2.3 From be4dca14aedcd3fc3482e593d1bcce69fe53d0bd Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 23 Sep 2011 16:00:58 -0500 Subject: Ensure the class is correct --- libdbusmenu-glib/menuitem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c index 4e037ee..c9c7736 100644 --- a/libdbusmenu-glib/menuitem.c +++ b/libdbusmenu-glib/menuitem.c @@ -1730,7 +1730,7 @@ dbusmenu_menuitem_send_about_to_show (DbusmenuMenuitem * mi, void (*cb) (Dbusmen #endif DbusmenuMenuitemClass * class = DBUSMENU_MENUITEM_GET_CLASS(mi); - if (class->send_about_to_show != NULL) { + if (class != NULL && class->send_about_to_show != NULL) { return class->send_about_to_show(mi, cb, cb_data); } else if (cb != NULL) { cb(mi, cb_data); -- cgit v1.2.3 From 1de08ee692a68f7511e8096afde13cf8ae4217a1 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 23 Sep 2011 16:25:23 -0500 Subject: Protecting against NULL private areas --- libdbusmenu-glib/client.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c index 24d5c5d..a51379f 100644 --- a/libdbusmenu-glib/client.c +++ b/libdbusmenu-glib/client.c @@ -1050,7 +1050,12 @@ menuproxy_build_cb (GObject * object, GAsyncResult * res, gpointer user_data) /* If this wasn't cancelled, we should be good */ DbusmenuClient * client = DBUSMENU_CLIENT(user_data); + /* But let's check */ + g_return_if_fail(client != NULL); DbusmenuClientPrivate * priv = DBUSMENU_CLIENT_GET_PRIVATE(client); + g_return_if_fail(priv != NULL); + + priv->menuproxy = proxy; if (priv->menuproxy_cancel != NULL) { -- cgit v1.2.3 From 1e2a29f24c3f28fd4d7e22ee6f0e873fbcf47e4a Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 29 Sep 2011 14:34:08 -0500 Subject: 0.5.0 --- configure.ac | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 6276327..f195f47 100644 --- a/configure.ac +++ b/configure.ac @@ -1,11 +1,11 @@ -AC_INIT(libdbusmenu, 0.4.94, ted@canonical.com) +AC_INIT(libdbusmenu, 0.5.0, ted@canonical.com) AC_COPYRIGHT([Copyright 2009,2010 Canonical]) AC_PREREQ(2.62) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(libdbusmenu, 0.4.94, [-Wno-portability]) +AM_INIT_AUTOMAKE(libdbusmenu, 0.5.0, [-Wno-portability]) AM_MAINTAINER_MODE @@ -172,7 +172,7 @@ AC_PATH_PROG([XSLT_PROC], [xsltproc]) ########################### LIBDBUSMENU_CURRENT=4 -LIBDBUSMENU_REVISION=4 +LIBDBUSMENU_REVISION=5 LIBDBUSMENU_AGE=0 AC_SUBST(LIBDBUSMENU_CURRENT) -- cgit v1.2.3