diff options
Diffstat (limited to 'main/libc0.9.32')
-rw-r--r-- | main/libc0.9.32/APKBUILD | 4 | ||||
-rw-r--r-- | main/libc0.9.32/uclibc-resolv-fix-memory-leak.patch | 33 |
2 files changed, 36 insertions, 1 deletions
diff --git a/main/libc0.9.32/APKBUILD b/main/libc0.9.32/APKBUILD index acb107f37..cbf5aa339 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 _ver=${pkgver/_/-} -pkgrel=3 +pkgrel=4 pkgdesc="C library for developing embedded Linux systems" url=http://uclibc.org license="LGPL-2" @@ -22,6 +22,7 @@ _snapfile="$pkgname-$pkgver.tar.bz2" source="http://uclibc.org/downloads/uClibc-${_ver}.tar.bz2 compat-stack-guard.patch uclibc-resolv-cname-fix.diff + uclibc-resolv-fix-memory-leak.patch 0001-resolv-fix-resolver-to-return-TRY_AGAIN-on-timeout.patch 0001-libm-x86_64-implement-some-fenv-functions.patch 0001-ldso-limited-support-for-ORIGIN-in-rpath.patch @@ -130,6 +131,7 @@ libthread_db() { md5sums="cfcb6c25d8ebe12817499d8749ee8ae1 uClibc-0.9.32.tar.bz2 a9bfb77ea7dc5fb9abf4d4b19201c614 compat-stack-guard.patch 5d6e3e382b66f59cfd7242a4fe453f98 uclibc-resolv-cname-fix.diff +6bdb884bd00b053247e02b4024d33b39 uclibc-resolv-fix-memory-leak.patch 08f31006426a0fca561f262f36bcfb01 0001-resolv-fix-resolver-to-return-TRY_AGAIN-on-timeout.patch 68913d6f096fd647e8bdb7ef182c05a4 0001-libm-x86_64-implement-some-fenv-functions.patch bc164e262c5feab55c800780704fa71c 0001-ldso-limited-support-for-ORIGIN-in-rpath.patch diff --git a/main/libc0.9.32/uclibc-resolv-fix-memory-leak.patch b/main/libc0.9.32/uclibc-resolv-fix-memory-leak.patch new file mode 100644 index 000000000..8738ba774 --- /dev/null +++ b/main/libc0.9.32/uclibc-resolv-fix-memory-leak.patch @@ -0,0 +1,33 @@ +From bb8d500a75a3050fe3198773ce7b07f669fe8f13 Mon Sep 17 00:00:00 2001 +From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> +Date: Fri, 14 Oct 2011 15:47:42 +0000 +Subject: resolv: fix memory leak + +Timothy Holdener writes: +small memory leak in __dns_lookup() when the A record +in the DNS answer is preceded by one or more CNAME records. + +Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> +--- +diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c +index 38254bd..e415d30 100644 +--- a/libc/inet/resolv.c ++++ b/libc/inet/resolv.c +@@ -1507,6 +1507,7 @@ int attribute_hidden __dns_lookup(const char *name, + DPRINTF("Decoding answer at pos %d\n", pos); + + first_answer = 1; ++ a->dotted = NULL; + for (j = 0; j < h.ancount; j++) { + i = __decode_answer(packet, pos, packet_len, &ma); + if (i < 0) { +@@ -1523,6 +1524,7 @@ int attribute_hidden __dns_lookup(const char *name, + ma.buf = a->buf; + ma.buflen = a->buflen; + ma.add_count = a->add_count; ++ free(a->dotted); + memcpy(a, &ma, sizeof(ma)); + if (a->atype != T_SIG && (NULL == a->buf || (type != T_A && type != T_AAAA))) + break; +-- +cgit v0.9.0.1-2-gef13 |