summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-06-07 21:54:14 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-06-07 21:54:14 +0000
commitc7b279aebe287a643cb3174abe3707cdf8c41ad8 (patch)
tree01bb7fa6459f5be18c9f42a84f5caaa16eefe03c
parenta6c1bd4558c32b580e691067ac119361547e2c44 (diff)
[toolchain] uClibc: fix a crash in __read_etc_hosts_r() that occurs if more than five hostnames follow a dotted quad in /etc/hosts
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27131 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--toolchain/uClibc/patches-0.9.32/131-inet-fix-__read_etc_hosts_r-segfault.patch10
1 files changed, 10 insertions, 0 deletions
diff --git a/toolchain/uClibc/patches-0.9.32/131-inet-fix-__read_etc_hosts_r-segfault.patch b/toolchain/uClibc/patches-0.9.32/131-inet-fix-__read_etc_hosts_r-segfault.patch
new file mode 100644
index 000000000..bd9ed380a
--- /dev/null
+++ b/toolchain/uClibc/patches-0.9.32/131-inet-fix-__read_etc_hosts_r-segfault.patch
@@ -0,0 +1,10 @@
+--- a/libc/inet/resolv.c
++++ b/libc/inet/resolv.c
+@@ -1631,6 +1631,7 @@ int attribute_hidden __read_etc_hosts_r(
+ * struct in[6]_addr
+ * char line_buffer[BUFSZ+];
+ */
++ memset(buf, 0, buflen);
+ parser->data = buf;
+ parser->data_len = aliaslen;
+ parser->line_len = buflen - aliaslen;