diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2011-11-16 15:09:51 +0100 |
---|---|---|
committer | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2011-11-16 15:10:51 +0100 |
commit | 76ab155840b995c1f535627df6d7e7cb41966bb6 (patch) | |
tree | 48cb1864c330b3b71817b81bfbea4a7eb752f36e /src/network.c | |
parent | 4fa678448e73e6e87581b08f812d3f30f512e14e (diff) | |
download | connman-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.c | 8 |
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, |