timeserver: Nameserver array was not freed
authorJukka Rissanen <jukka.rissanen@linux.intel.com>
Tue, 10 Apr 2012 07:28:20 +0000 (10:28 +0300)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Thu, 12 Apr 2012 08:13:12 +0000 (11:13 +0300)
src/timeserver.c

index 2fcdb94..64d6dce 100644 (file)
@@ -274,8 +274,10 @@ static int timeserver_start(struct connman_service *service)
        }
 
        resolv = g_resolv_new(i);
-       if (resolv == NULL)
+       if (resolv == NULL) {
+               g_strfreev(nameservers);
                return -ENOMEM;
+       }
 
        if (getenv("CONNMAN_RESOLV_DEBUG"))
                g_resolv_set_debug(resolv, resolv_debug, "RESOLV");
@@ -283,6 +285,8 @@ static int timeserver_start(struct connman_service *service)
        for (i = 0; nameservers[i] != NULL; i++)
                g_resolv_add_nameserver(resolv, nameservers[i], 53, 0);
 
+       g_strfreev(nameservers);
+
        return __connman_timeserver_sync(service);
 }