service: Fix memory leak
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Mon, 25 Jul 2011 14:24:26 +0000 (16:24 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 25 Jul 2011 20:44:30 +0000 (22:44 +0200)
valgrind reports that __connman_service_nameservers_remove leaks
memory.

g_strv_length already returns the right size of the new array.

src/service.c

index b8f6aac..e793d75 100644 (file)
@@ -585,7 +585,7 @@ int __connman_service_nameserver_remove(struct connman_service *service,
                return 0;
        }
 
-       servers = g_try_new0(char *, len - 1);
+       servers = g_try_new0(char *, len);
        if (servers == NULL)
                return -ENOMEM;
 
@@ -595,7 +595,7 @@ int __connman_service_nameserver_remove(struct connman_service *service,
                        j++;
                }
        }
-       servers[len - 2] = NULL;
+       servers[len - 1] = NULL;
 
        g_strfreev(service->nameservers);
        service->nameservers = servers;