[evolution] Bug #644301 - Invalid GVariant format in NetworkManager module



commit 3712e3981b2056401c57c981160c96ff931f612c
Author: Milan Crha <mcrha redhat com>
Date:   Fri Mar 11 14:48:19 2011 +0100

    Bug #644301 - Invalid GVariant format in NetworkManager module

 modules/connman/evolution-connman.c                |    4 +++-
 .../network-manager/evolution-network-manager.c    |    4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/modules/connman/evolution-connman.c b/modules/connman/evolution-connman.c
index 10a6fad..50b5cf3 100644
--- a/modules/connman/evolution-connman.c
+++ b/modules/connman/evolution-connman.c
@@ -111,7 +111,7 @@ connman_check_initial_state (EConnMan *extension)
 		extension->connection, message,
 		G_DBUS_SEND_MESSAGE_FLAGS_NONE, 100, NULL, NULL, &error);
 
-	if (response != NULL) {
+	if (response != NULL && !g_dbus_message_to_gerror (response, &error)) {
 		gchar *state = NULL;
 		GVariant *body = g_dbus_message_get_body (response);
 
@@ -122,6 +122,8 @@ connman_check_initial_state (EConnMan *extension)
 		g_warning ("%s: %s", G_STRFUNC, error ? error->message : "Unknown error");
 		if (error)
 			g_error_free (error);
+		if (response)
+			g_object_unref (response);
 		g_object_unref (message);
 		return;
 	}
diff --git a/modules/network-manager/evolution-network-manager.c b/modules/network-manager/evolution-network-manager.c
index 1c15a84..0ea86e1 100644
--- a/modules/network-manager/evolution-network-manager.c
+++ b/modules/network-manager/evolution-network-manager.c
@@ -139,7 +139,7 @@ network_manager_check_initial_state (ENetworkManager *extension)
 		extension->connection, message,
 		G_DBUS_SEND_MESSAGE_FLAGS_NONE, 100, NULL, NULL, &error);
 
-	if (response != NULL) {
+	if (response != NULL && !g_dbus_message_to_gerror (response, &error)) {
 		GVariant *body = g_dbus_message_get_body (response);
 
 		g_variant_get (body, "(u)", &state);
@@ -147,6 +147,8 @@ network_manager_check_initial_state (ENetworkManager *extension)
 		g_warning ("%s: %s", G_STRFUNC, error ? error->message : "Unknown error");
 		if (error)
 			g_error_free (error);
+		if (response)
+			g_object_unref (response);
 		g_object_unref (message);
 		return;
 	}



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