diff options
author | nico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-05-11 10:19:12 +0000 |
---|---|---|
committer | nico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-05-11 10:19:12 +0000 |
commit | e98062ae33be0c074f1372f806480099f7cd2ec9 (patch) | |
tree | fa841d2ac5d08b01fbaafc036694e653241fe456 /toolchain/uClibc/patches/009-fix_getaddrinfo_infinite_loop.patch | |
parent | 4fa2246c59d642949e7338548385f5b739a1444f (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.patch | 14 |
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) + { |