Make sure the timeout source is cleaned when proxy_lookup struct is
deallocated.
---
 src/proxy.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/proxy.c b/src/proxy.c
index 0d1a25a..f331de9 100644
--- a/src/proxy.c
+++ b/src/proxy.c
@@ -44,6 +44,9 @@ struct proxy_lookup {
 
 static void remove_lookup(struct proxy_lookup *lookup)
 {
+       if (lookup->watch > 0)
+               g_source_remove(lookup->watch);
+
        lookup_list = g_slist_remove(lookup_list, lookup);
 
        connman_service_unref(lookup->service);
@@ -150,11 +153,6 @@ void connman_proxy_lookup_cancel(unsigned int token)
        }
 
        if (lookup) {
-               if (lookup->watch > 0) {
-                       g_source_remove(lookup->watch);
-                       lookup->watch = 0;
-               }
-
                if (lookup->proxy &&
                                        lookup->proxy->cancel_lookup)
                        lookup->proxy->cancel_lookup(lookup->service,
-- 
1.9.1

_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to