From 1704d21356e0a37b3310a6b5ebf1af24aac2c2ca Mon Sep 17 00:00:00 2001 From: goldsimon Date: Thu, 3 May 2012 20:21:50 +0200 Subject: [PATCH] dhcp: check array bounds before accessing it (bug #36170) --- src/core/dhcp.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/core/dhcp.c b/src/core/dhcp.c index 70121039..614fa324 100644 --- a/src/core/dhcp.c +++ b/src/core/dhcp.c @@ -567,12 +567,10 @@ dhcp_handle_ack(struct netif *netif) #if LWIP_DNS /* DNS servers */ - n = 0; - while(dhcp_option_given(dhcp, DHCP_OPTION_IDX_DNS_SERVER + n) && (n < DNS_MAX_SERVERS)) { + for(n = 0; (n < DNS_MAX_SERVERS) && dhcp_option_given(dhcp, DHCP_OPTION_IDX_DNS_SERVER + n); n++) { ip_addr_t dns_addr; ip4_addr_set_u32(&dns_addr, htonl(dhcp_get_option_value(dhcp, DHCP_OPTION_IDX_DNS_SERVER + n))); dns_setserver(n, &dns_addr); - n++; } #endif /* LWIP_DNS */ }