diff options
author | Leena Gunda <leena.gunda@wipro.com> | 2010-12-29 11:25:14 +0530 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2010-12-28 23:08:59 -0800 |
commit | 8419f1bd0b930448ced7be50616182b5f341bf43 (patch) | |
tree | 4879bef817b16df5238fbcee0352689ee2fad649 /gsupplicant/supplicant.c | |
parent | e546fc0ae2c76c57c3a0d1cf7b3eb5b37932ce66 (diff) | |
download | connman-8419f1bd0b930448ced7be50616182b5f341bf43.tar.gz connman-8419f1bd0b930448ced7be50616182b5f341bf43.tar.bz2 connman-8419f1bd0b930448ced7be50616182b5f341bf43.zip |
Fix Valgrind Invalid Read error while removing gsupplicant interface
Diffstat (limited to 'gsupplicant/supplicant.c')
-rw-r--r-- | gsupplicant/supplicant.c | 7 |
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); } |