summaryrefslogtreecommitdiff
path: root/toolchain/uClibc/patches/009-fix_getaddrinfo_infinite_loop.patch
diff options
context:
space:
mode:
authornico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-05-11 10:19:12 +0000
committernico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-05-11 10:19:12 +0000
commite98062ae33be0c074f1372f806480099f7cd2ec9 (patch)
treefa841d2ac5d08b01fbaafc036694e653241fe456 /toolchain/uClibc/patches/009-fix_getaddrinfo_infinite_loop.patch
parent4fa2246c59d642949e7338548385f5b739a1444f (diff)
Fix a bug causing an infinite loop in getaddrinfo (closes: #3344)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11106 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/uClibc/patches/009-fix_getaddrinfo_infinite_loop.patch')
-rw-r--r--toolchain/uClibc/patches/009-fix_getaddrinfo_infinite_loop.patch14
1 files changed, 14 insertions, 0 deletions
diff --git a/toolchain/uClibc/patches/009-fix_getaddrinfo_infinite_loop.patch b/toolchain/uClibc/patches/009-fix_getaddrinfo_infinite_loop.patch
new file mode 100644
index 0000000000..27830b3c16
--- /dev/null
+++ b/toolchain/uClibc/patches/009-fix_getaddrinfo_infinite_loop.patch
@@ -0,0 +1,14 @@
+diff -ruN uClibc-0.9.29.orig/libc/inet/getaddrinfo.c uClibc-0.9.29/libc/inet/getaddrinfo.c
+--- uClibc-0.9.29.orig/libc/inet/getaddrinfo.c 2006-01-22 20:35:08.000000000 +0100
++++ uClibc-0.9.29/libc/inet/getaddrinfo.c 2008-05-11 03:33:18.000000000 +0200
+@@ -858,7 +858,10 @@
+ if (hints->ai_family == g->family || hints->ai_family == AF_UNSPEC)
+ {
+ if ((hints->ai_flags & AI_ADDRCONFIG) && !addrconfig(g->family))
++ {
++ g++;
+ continue;
++ }
+ j++;
+ if (pg == NULL || pg->gaih != g->gaih)
+ {