aboutsummaryrefslogtreecommitdiffstats
path: root/main/libc0.9.32/uclibc-resolv-cname-fix.diff
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2011-04-09 08:08:30 +0300
committerTimo Teräs <timo.teras@iki.fi>2011-04-09 08:09:41 +0300
commit4446c956152ff6ff01710382676bbd52a9d190a7 (patch)
treea3f2904b5603429b96f5d784978ba1772a9d8944 /main/libc0.9.32/uclibc-resolv-cname-fix.diff
parentb32097b4639d8c6da64fdf996ae42a1dc1ca9886 (diff)
downloadaports-4446c956152ff6ff01710382676bbd52a9d190a7.tar.bz2
aports-4446c956152ff6ff01710382676bbd52a9d190a7.tar.xz
main/libc0.9.32: fix res_query with CNAMEs
reintroduce the patch from original aports commit 1ceb14def2f0790c678bd101e9914c9bd8b0a014.
Diffstat (limited to 'main/libc0.9.32/uclibc-resolv-cname-fix.diff')
-rw-r--r--main/libc0.9.32/uclibc-resolv-cname-fix.diff19
1 files changed, 19 insertions, 0 deletions
diff --git a/main/libc0.9.32/uclibc-resolv-cname-fix.diff b/main/libc0.9.32/uclibc-resolv-cname-fix.diff
new file mode 100644
index 0000000000..cf5e777f7e
--- /dev/null
+++ b/main/libc0.9.32/uclibc-resolv-cname-fix.diff
@@ -0,0 +1,19 @@
+diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c
+index 1e394d4..03d68fe 100644
+--- a/libc/inet/resolv.c
++++ b/libc/inet/resolv.c
+@@ -3099,11 +3099,9 @@ int res_query(const char *dname, int class, int type,
+
+ free(a.dotted);
+
+- if (a.atype == type) { /* CNAME */
+- if (i > anslen)
+- i = anslen;
+- memcpy(answer, packet, i);
+- }
++ i = MIN(anslen, i);
++ memcpy(answer, packet, i);
++
+ free(packet);
+ return i;
+ }