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);
connman_ipconfig_unref(service->ipconfig_ipv4);
service->ipconfig_ipv4 = NULL;
}
if (service->ipconfig_ipv6 != NULL) {
+ __connman_ipconfig_disable(service->ipconfig_ipv6);
connman_ipconfig_unref(service->ipconfig_ipv6);
service->ipconfig_ipv6 = NULL;
}
--
1.7.2.2
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman