Hi Mohamed,

On Thu, Jun 16, 2011 at 02:41:25PM -0700, Mohamed Abbas wrote:
> connman will crash if we turn power off/on. This because we do
> not call __connman_ipconfig_disable on service_free function,
> which lead to leave it in ipconfig_list. this will case
> accesing bad pointer in __connman_ipconfig_newlink function.
> ---
>  src/service.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/src/service.c b/src/service.c
> index eca4ef2..48f990b 100644
> --- a/src/service.c
> +++ b/src/service.c
> @@ -2934,11 +2934,13 @@ static void service_free(gpointer user_data)
>               connman_provider_unref(service->provider);
>  
>       if (service->ipconfig_ipv4 != NULL) {
> +             __connman_ipconfig_disable(service->ipconfig_ipv4);
This should be handled by the unreference below. So if it's not that means the
ipconfig pointer is still referenced. That's a reference leak that your patch
will just hide, but not fix. Would you mind investigating who is still holding
an ipconfig reference when we're freeing the service ?

Cheers,
Samuel.

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

Reply via email to