[git commit] resolv: really fix res_close not to hang with ipv6

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Wed Apr 13 17:38:40 UTC 2011


commit: http://git.uclibc.org/uClibc/commit/?id=d37cda884e573638aa3fafcb7505d733cf8d9eae
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/master

Fix goof in previous commit.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
---
 libc/inet/resolv.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c
index 05a1335..021d5bf 100644
--- a/libc/inet/resolv.c
+++ b/libc/inet/resolv.c
@@ -3008,8 +3008,8 @@ 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)) {
-			char *p2 = (char*)(_res._u._ext.nsaddrs[m]);
+		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);
 		}
-- 
1.7.3.4



More information about the uClibc-cvs mailing list