summaryrefslogtreecommitdiff
path: root/src/network.c
diff options
context:
space:
mode:
authorDaniel Wagner <daniel.wagner@bmw-carit.de>2011-11-16 15:09:51 +0100
committerDaniel Wagner <daniel.wagner@bmw-carit.de>2011-11-16 15:10:51 +0100
commit76ab155840b995c1f535627df6d7e7cb41966bb6 (patch)
tree48cb1864c330b3b71817b81bfbea4a7eb752f36e /src/network.c
parent4fa678448e73e6e87581b08f812d3f30f512e14e (diff)
downloadconnman-76ab155840b995c1f535627df6d7e7cb41966bb6.tar.gz
connman-76ab155840b995c1f535627df6d7e7cb41966bb6.tar.bz2
connman-76ab155840b995c1f535627df6d7e7cb41966bb6.zip
network: connman_network_set_nameservers() handle NULL argument correctly
Trying to access an array pointer which points to NULL is generally a bad idea. Instead just return early.
Diffstat (limited to 'src/network.c')
-rw-r--r--src/network.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/network.c b/src/network.c
index 058495df..1bb1a6e7 100644
--- a/src/network.c
+++ b/src/network.c
@@ -1392,7 +1392,7 @@ int connman_network_set_nameservers(struct connman_network *network,
const char *nameservers)
{
struct connman_service *service;
- char **nameservers_array = NULL;
+ char **nameservers_array;
int i;
DBG("network %p nameservers %s", network, nameservers);
@@ -1403,8 +1403,10 @@ int connman_network_set_nameservers(struct connman_network *network,
__connman_service_nameserver_clear(service);
- if (nameservers != NULL)
- nameservers_array = g_strsplit(nameservers, " ", 0);
+ if (nameservers == NULL)
+ return 0;
+
+ nameservers_array = g_strsplit(nameservers, " ", 0);
for (i = 0; nameservers_array[i] != NULL; i++) {
__connman_service_nameserver_append(service,