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