diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-03-14 07:32:20 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-03-14 07:32:20 +0100 |
commit | 175ecf87549c9b23dfc67838dd248f17cb0c2507 (patch) | |
tree | 311e7938605d9e7e48093989c7bbdba5055ff197 /plugins | |
parent | 496731294b2bbbe54cb75b1e01c1dd410a4c748a (diff) | |
download | connman-175ecf87549c9b23dfc67838dd248f17cb0c2507.tar.gz connman-175ecf87549c9b23dfc67838dd248f17cb0c2507.tar.bz2 connman-175ecf87549c9b23dfc67838dd248f17cb0c2507.zip |
Fix crash when unplugging WiFi devices
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/supplicant.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/plugins/supplicant.c b/plugins/supplicant.c index b5c96992..f187b86a 100644 --- a/plugins/supplicant.c +++ b/plugins/supplicant.c @@ -362,6 +362,8 @@ static void remove_interface_reply(DBusPendingCall *call, void *user_data) connman_device_set_powered(task->device, FALSE); + connman_device_unref(task->device); + free_task(task); dbus_message_unref(reply); @@ -1238,13 +1240,14 @@ int supplicant_start(struct connman_device *device) task->ifindex = connman_device_get_index(device); task->ifname = inet_index2name(task->ifindex); - task->device = device; if (task->ifname == NULL) { g_free(task); return -ENOMEM; } + task->device = connman_device_ref(device); + task->created = FALSE; task->noscan = FALSE; task->state = WPA_INVALID; |