From efe795b72dd740cee0cbe4a62c1da814904e8fb5 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Thu, 30 Apr 2015 17:01:20 -0500 Subject: [PATCH] wiphy: Fix memory leak When disconnect is triggered locally, we do not clean up properly. ==4336== at 0x4C2B970: malloc (vg_replace_malloc.c:296) ==4336== by 0x40CEED: l_malloc (util.c:62) ==4336== by 0x40F46A: l_settings_new (settings.c:82) ==4336== by 0x40CE2E: storage_network_open (storage.c:180) ==4336== by 0x40498E: network_connect_psk (wiphy.c:307) ==4336== by 0x40498E: network_connect (wiphy.c:359) ==4336== by 0x41D7EE: _dbus_object_tree_dispatch (dbus-service.c:845) ==4336== by 0x416A16: message_read_handler (dbus.c:297) ==4336== by 0x411984: io_callback (io.c:120) ==4336== by 0x410FC2: l_main_run (main.c:346) ==4336== by 0x40253E: main (main.c:171) --- src/wiphy.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/wiphy.c b/src/wiphy.c index d01578fd..fd14b1ac 100644 --- a/src/wiphy.c +++ b/src/wiphy.c @@ -663,6 +663,8 @@ static void genl_disconnect_cb(struct l_genl_msg *msg, void *user_data) return; } + netdev_disassociated(netdev); + reply = l_dbus_message_new_method_return(netdev->disconnect_pending); l_dbus_message_set_arguments(reply, ""); dbus_pending_reply(&netdev->disconnect_pending, reply);