summaryrefslogtreecommitdiffstats
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
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.
-rw-r--r--main/libc0.9.32/APKBUILD4
-rw-r--r--main/libc0.9.32/uclibc-resolv-cname-fix.diff19
2 files changed, 22 insertions, 1 deletions
diff --git a/main/libc0.9.32/APKBUILD b/main/libc0.9.32/APKBUILD
index b03ba92de..f1fff7473 100644
--- a/main/libc0.9.32/APKBUILD
+++ b/main/libc0.9.32/APKBUILD
@@ -4,7 +4,7 @@ pkgname=libc$_abiver
_gitver=
pkgver=0.9.32_rc3
_ver=${pkgver/_/-}
-pkgrel=5
+pkgrel=6
pkgdesc="C library for developing embedded Linux systems"
url=http://uclibc.org
license="LGPL-2"
@@ -20,6 +20,7 @@ _snapurl="http://git.uclibc.org/uClibc/snapshot/master.tar.bz2"
_snapfile="$pkgname-$pkgver.tar.bz2"
source="http://uclibc.org/downloads/uClibc-${_ver}.tar.bz2
compat-stack-guard.patch
+ uclibc-resolv-cname-fix.diff
0001-libm-x86_64-implement-fesetround.patch
0001-ldso-limited-support-for-ORIGIN-in-rpath.patch
0002-stdlib-fix-arc4random-return-type-to-u_int32_t.patch
@@ -121,6 +122,7 @@ libthread_db() {
md5sums="e7f420aa2fb28e7021d02c043acba71b uClibc-0.9.32-rc3.tar.bz2
a9bfb77ea7dc5fb9abf4d4b19201c614 compat-stack-guard.patch
+5d6e3e382b66f59cfd7242a4fe453f98 uclibc-resolv-cname-fix.diff
e0c901502602f7e9e002d910d0f32ab9 0001-libm-x86_64-implement-fesetround.patch
bc164e262c5feab55c800780704fa71c 0001-ldso-limited-support-for-ORIGIN-in-rpath.patch
b4fb68ad3d0e8331b1b40c30eb21dfdc 0002-stdlib-fix-arc4random-return-type-to-u_int32_t.patch
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;
+ }