ip_change = FALSE;
option = g_dhcp_client_get_option(dhcp_client, G_DHCP_DNS_SERVER);
- for (ns_entries = 0, list = option; list; list = list->next)
- ns_entries += 1;
+ ns_entries = g_list_length(option);
nameservers = g_try_new0(char *, ns_entries + 1);
if (nameservers != NULL) {
for (i = 0, list = option; list; list = list->next, i++)
hostname = g_strdup(option->data);
option = g_dhcp_client_get_option(dhcp_client, G_DHCP_NTP_SERVER);
- for (ns_entries = 0, list = option; list; list = list->next)
- ns_entries += 1;
+ ns_entries = g_list_length(option);
timeservers = g_try_new0(char *, ns_entries + 1);
if (timeservers != NULL) {
for (i = 0, list = option; list; list = list->next, i++)
dhcp->nameservers = nameservers;
- for (i = 0; dhcp->nameservers[i] != NULL; i++) {
+ for (i = 0; dhcp->nameservers != NULL &&
+ dhcp->nameservers[i] != NULL; i++) {
__connman_service_nameserver_append(service,
dhcp->nameservers[i], FALSE);
}
dhcp->timeservers = timeservers;
- for (i = 0; dhcp->timeservers[i] != NULL; i++) {
+ for (i = 0; dhcp->timeservers != NULL &&
+ dhcp->timeservers[i] != NULL; i++) {
__connman_service_timeserver_append(service,
dhcp->timeservers[i]);
}