Hi Leena,

On Mon, Nov 22, 2010 at 05:56:32PM +0530, [email protected] wrote:
> Below is a patch for:
> http://bugs.meego.com/show_bug.cgi?id=10302
> 
> This crash is seen for the ConnMan WiFi plugin.
>  
> When WiFi device driver is removed, wifi_remove is called which will free the 
> wifi_data structure. But this wifi_data structure is still associated to the 
> GSupplicantInterface. Now for all the signal notifications, gsupplicant will 
> invoke the callbacks registered by WiFi plugin. These callbacks still 
> reference the wifi_data structuce which is already freed and hence the crash.
> 
> In wifi_remove setting the GSupplicantInterface's wifi_data to NULL will fix 
> this issue.
> 
Patch applied, thanks a lot.

Cheers,
Samuel.


> Patch:
> 
> ---
>  plugins/wifi.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/plugins/wifi.c b/plugins/wifi.c
> index e3247a1..eacace4 100644
> --- a/plugins/wifi.c
> +++ b/plugins/wifi.c
> @@ -163,6 +163,8 @@ static void wifi_remove(struct connman_device *device)
>       connman_device_unref(wifi->device);
>       connman_rtnl_remove_watch(wifi->watch);
>  
> +     g_supplicant_interface_set_data(wifi->interface, NULL);
> +
>       g_free(wifi->identifier);
>       g_free(wifi);
>  }
> -- 
> 1.7.2.2
> 
> 
> _______________________________________________
> connman mailing list
> [email protected]
> http://lists.connman.net/listinfo/connman

-- 
Intel Open Source Technology Centre
http://oss.intel.com/
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to