summaryrefslogtreecommitdiff
path: root/gsupplicant
diff options
context:
space:
mode:
authorLeena Gunda <leena.gunda@wipro.com>2010-12-29 11:25:14 +0530
committerMarcel Holtmann <marcel@holtmann.org>2010-12-28 23:08:59 -0800
commit8419f1bd0b930448ced7be50616182b5f341bf43 (patch)
tree4879bef817b16df5238fbcee0352689ee2fad649 /gsupplicant
parente546fc0ae2c76c57c3a0d1cf7b3eb5b37932ce66 (diff)
downloadconnman-8419f1bd0b930448ced7be50616182b5f341bf43.tar.gz
connman-8419f1bd0b930448ced7be50616182b5f341bf43.tar.bz2
connman-8419f1bd0b930448ced7be50616182b5f341bf43.zip
Fix Valgrind Invalid Read error while removing gsupplicant interface
Diffstat (limited to 'gsupplicant')
-rw-r--r--gsupplicant/supplicant.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index 35a0e5a4..84526569 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -1986,12 +1986,15 @@ static void interface_remove_result(const char *error,
goto done;
}
- g_hash_table_remove(interface_table, data->interface->path);
+ /*
+ * The gsupplicant interface is already freed by the InterfaceRemoved
+ * signal callback. Simply invoke the interface_data callback.
+ */
err = 0;
done:
if (data->callback != NULL)
- data->callback(err, data->interface, data->user_data);
+ data->callback(err, NULL, data->user_data);
dbus_free(data);
}