From c612916ff8e071c4cf2c7bd70b2c7ead7aeff3d2 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Fri, 9 Jul 2010 23:45:24 +0200 Subject: [PATCH] Fix SEGV at first startup connman_wifi_load_ssid() can return NULL. Best not to dereference that. This fixes Meego's bug #3787. --- plugins/supplicant.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/supplicant.c b/plugins/supplicant.c index 276fd91..85016ba 100644 --- a/plugins/supplicant.c +++ b/plugins/supplicant.c @@ -610,7 +610,13 @@ static void add_interface_reply(DBusPendingCall *call, void *user_data) connman_device_set_powered(task->device, TRUE); + dbus_message_unref(reply); + + dbus_pending_call_unref(call); + hex_ssids = connman_wifi_load_ssid(); + if (hex_ssids == NULL) + return; for (i = 0; hex_ssids[i]; i++) { unsigned char *ssid; @@ -635,10 +641,6 @@ static void add_interface_reply(DBusPendingCall *call, void *user_data) g_strfreev(hex_ssids); - dbus_message_unref(reply); - - dbus_pending_call_unref(call); - return; failed: -- 2.7.4