[gnome-bluetooth] lib: fix usage of GVariant
- From: Daniele Forsi <dforsi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-bluetooth] lib: fix usage of GVariant
- Date: Fri, 25 Nov 2011 10:41:06 +0000 (UTC)
commit bdad164e57442fc2fae805fc322cc16331db33a2
Author: Daniele Forsi <dforsi src gnome org>
Date: Tue Nov 22 11:27:00 2011 +0100
lib: fix usage of GVariant
If adapter_call_get_properties_sync () fails then the variant pointer
is left uninitialized. Also unref it only if it is not NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=664550
lib/bluetooth-client.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/lib/bluetooth-client.c b/lib/bluetooth-client.c
index dc98fb5..4ff6aeb 100644
--- a/lib/bluetooth-client.c
+++ b/lib/bluetooth-client.c
@@ -765,9 +765,7 @@ adapter_added (Manager *manager,
NULL,
NULL);
- adapter_call_get_properties_sync (adapter, &variant, NULL, NULL);
-
- if (variant != NULL) {
+ if (adapter_call_get_properties_sync (adapter, &variant, NULL, NULL) == TRUE) {
GVariant *v;
v = g_variant_lookup_value (variant, "Address", G_VARIANT_TYPE_STRING);
@@ -787,6 +785,8 @@ adapter_added (Manager *manager,
v = g_variant_lookup_value (variant, "Discoverable", G_VARIANT_TYPE_BOOLEAN);
discoverable = v ? g_variant_get_boolean (v) : FALSE;
+
+ g_variant_unref (variant);
} else {
address = NULL;
name = NULL;
@@ -816,7 +816,6 @@ adapter_added (Manager *manager,
}
g_free (devices);
}
- g_variant_unref (variant);
g_object_unref (adapter);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]