From c277cc3c99a2499183fed84cdeb25c45a06f141d Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Tue, 12 Apr 2011 09:39:20 +0200 Subject: resolv: fix res_close not to hang with ipv6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Timo Teräs writes: The memory release loop is missing an obvious counter increment. Signed-off-by: Bernhard Reutner-Fischer --- libc/inet/resolv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libc/inet/resolv.c') diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c index 47bab7519..05a1335e5 100644 --- a/libc/inet/resolv.c +++ b/libc/inet/resolv.c @@ -3008,7 +3008,7 @@ void res_close(void) char *p1 = (char*) &(_res.nsaddr_list[0]); int m = 0; /* free nsaddrs[m] if they do not point to nsaddr_list[x] */ - while (m < ARRAY_SIZE(_res._u._ext.nsaddrs)) { + while (m++ < ARRAY_SIZE(_res._u._ext.nsaddrs)) { char *p2 = (char*)(_res._u._ext.nsaddrs[m]); if (p2 < p1 || (p2 - p1) > sizeof(_res.nsaddr_list)) free(p2); -- cgit v1.2.3