ip6: don't try to process invalid RA nameservers

This commit is contained in:
Dan Williams
2011-04-05 09:57:43 -05:00
parent fdc2d5ee4f
commit 48441ea636

View File

@@ -689,8 +689,10 @@ process_nduseropt_rdnss (NMIP6Device *device, struct nd_opt_hdr *opt)
for (addr = (struct in6_addr *) (rdnss_opt + 1); opt_len >= 2; addr++, opt_len -= 2) { for (addr = (struct in6_addr *) (rdnss_opt + 1); opt_len >= 2; addr++, opt_len -= 2) {
char buf[INET6_ADDRSTRLEN + 1]; char buf[INET6_ADDRSTRLEN + 1];
if (!inet_ntop (AF_INET6, addr, buf, sizeof (buf))) if (!inet_ntop (AF_INET6, addr, buf, sizeof (buf))) {
strcpy(buf, "[invalid]"); nm_log_warn (LOGD_IP6, "(%s): received invalid RA-provided nameserver", device->iface);
continue;
}
for (i = 0; i < device->rdnss_servers->len; i++) { for (i = 0; i < device->rdnss_servers->len; i++) {
cur_server = &(g_array_index (device->rdnss_servers, NMIP6RDNSS, i)); cur_server = &(g_array_index (device->rdnss_servers, NMIP6RDNSS, i));