summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosimo Alfarano <cosimo.alfarano@collabora.co.uk>2010-02-15 13:30:03 +0000
committerCosimo Alfarano <cosimo.alfarano@collabora.co.uk>2010-02-15 15:28:04 +0000
commit10bec615d465cfad9c76845c8dbd9a9995c6741d (patch)
tree8ec8e52d61e25257bc7345676142382e9eaf662a
parent050bc10b196e2fb90778a9ceef44c2b65ffa4fc7 (diff)
checking against NULL before unreferencing a GObject
-rw-r--r--src/telepathy-logger.c13
-rw-r--r--telepathy-logger/observer.c3
2 files changed, 11 insertions, 5 deletions
diff --git a/src/telepathy-logger.c b/src/telepathy-logger.c
index 988b0be9b..5d5cbed8c 100644
--- a/src/telepathy-logger.c
+++ b/src/telepathy-logger.c
@@ -90,6 +90,7 @@ log_handler (const gchar *log_domain,
}
#endif /* ENABLE_DEBUG */
+
static TplDBusService *
telepathy_logger_dbus_init (void)
{
@@ -123,8 +124,9 @@ telepathy_logger_dbus_init (void)
out:
if (error != NULL)
- g_error_free (error);
- g_object_unref (tp_bus);
+ g_clear_error (&error);
+ if (tp_bus != NULL)
+ g_object_unref (tp_bus);
return dbus_srv;
}
@@ -186,8 +188,11 @@ main (int argc,
loop = g_main_loop_new (NULL, FALSE);
g_main_loop_run (loop);
- g_object_unref (observer);
- g_object_unref (dbus_srv);
+out:
+ if (observer != NULL)
+ g_object_unref (observer);
+ if (dbus_srv != NULL)
+ g_object_unref (dbus_srv);
tpl_channel_factory_deinit ();
#ifdef ENABLE_DEBUG
diff --git a/telepathy-logger/observer.c b/telepathy-logger/observer.c
index 43ef089ba..fd05ef45b 100644
--- a/telepathy-logger/observer.c
+++ b/telepathy-logger/observer.c
@@ -465,7 +465,8 @@ tpl_observer_register_dbus (TplObserver *self,
tp_proxy_get_dbus_connection (TP_PROXY (tp_bus)),
TPL_OBSERVER_OBJECT_PATH, G_OBJECT (self));
out:
- g_object_unref (tp_bus);
+ if (tp_bus != NULL)
+ g_object_unref (tp_bus);
return ret;
}