summaryrefslogtreecommitdiffstats
path: root/main/libc0.9.32/uclibc-resolv-cname-fix.diff
diff options
context:
space:
mode:
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 000000000..cf5e777f7
--- /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;
+ }