packages: glibc/glibc.spec, glibc/glibc-pr13013.patch (NEW) - fix 'res_quer...
pluto
pluto at pld-linux.org
Wed Nov 23 19:31:25 CET 2011
Author: pluto Date: Wed Nov 23 18:31:25 2011 GMT
Module: packages Tag: HEAD
---- Log message:
- fix 'res_query.c:251: __libc_res_nquery: Assertion `hp != hp2' failed' failures.
---- Files affected:
packages/glibc:
glibc.spec (1.937 -> 1.938) , glibc-pr13013.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/glibc/glibc.spec
diff -u packages/glibc/glibc.spec:1.937 packages/glibc/glibc.spec:1.938
--- packages/glibc/glibc.spec:1.937 Tue Oct 25 12:17:31 2011
+++ packages/glibc/glibc.spec Wed Nov 23 19:31:20 2011
@@ -34,7 +34,7 @@
Summary(uk.UTF-8): GNU libc версії
Name: glibc
Version: 2.14.1
-Release: 2
+Release: 2.1
Epoch: 6
License: LGPL v2.1+
Group: Libraries
@@ -87,6 +87,7 @@
Patch39: %{name}-git.patch
Patch40: %{name}-bad-fix.patch
Patch41: %{name}-pr12892.patch
+Patch42: %{name}-pr13013.patch
URL: http://www.gnu.org/software/libc/
%{?with_selinux:BuildRequires: audit-libs-devel}
BuildRequires: autoconf
@@ -953,6 +954,7 @@
%patch40 -p1
# revert broken fix
%patch41 -p1
+%patch42 -p1
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
@@ -1783,6 +1785,9 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.938 2011/11/23 18:31:20 pluto
+- fix 'res_query.c:251: __libc_res_nquery: Assertion `hp != hp2' failed' failures.
+
Revision 1.937 2011/10/25 10:17:31 arekm
- rel 2
================================================================
Index: packages/glibc/glibc-pr13013.patch
diff -u /dev/null packages/glibc/glibc-pr13013.patch:1.1
--- /dev/null Wed Nov 23 19:31:25 2011
+++ packages/glibc/glibc-pr13013.patch Wed Nov 23 19:31:20 2011
@@ -0,0 +1,51 @@
+--- a/resolv/res_query.c
++++ b/resolv/res_query.c
+@@ -122,6 +122,7 @@ __libc_res_nquery(res_state statp,
+ int *resplen2)
+ {
+ HEADER *hp = (HEADER *) answer;
++ HEADER *hp2;
+ int n, use_malloc = 0;
+ u_int oflags = statp->_flags;
+
+@@ -239,26 +240,25 @@ __libc_res_nquery(res_state statp,
+ /* __libc_res_nsend might have reallocated the buffer. */
+ hp = (HEADER *) *answerp;
+
+- /* We simplify the following tests by assigning HP to HP2. It
+- is easy to verify that this is the same as ignoring all
+- tests of HP2. */
+- HEADER *hp2 = answerp2 ? (HEADER *) *answerp2 : hp;
+-
+- if (n < (int) sizeof (HEADER) && answerp2 != NULL
+- && *resplen2 > (int) sizeof (HEADER))
++ /* We simplify the following tests by assigning HP to HP2 or
++ vice versa. It is easy to verify that this is the same as
++ ignoring all tests of HP or HP2. */
++ if (answerp2 == NULL || *resplen2 < (int) sizeof (HEADER))
+ {
+- /* Special case of partial answer. */
+- assert (hp != hp2);
+- hp = hp2;
++ hp2 = hp;
+ }
+- else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER)
+- && n > (int) sizeof (HEADER))
++ else
+ {
+- /* Special case of partial answer. */
+- assert (hp != hp2);
+- hp2 = hp;
++ hp2 = (HEADER *) *answerp2;
++ if (n < (int) sizeof (HEADER))
++ {
++ hp = hp2;
++ }
+ }
+
++ /* Make sure both hp and hp2 are defined */
++ assert((hp != NULL) && (hp2 != NULL));
++
+ if ((hp->rcode != NOERROR || ntohs(hp->ancount) == 0)
+ && (hp2->rcode != NOERROR || ntohs(hp2->ancount) == 0)) {
+ #ifdef DEBUG
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/glibc/glibc.spec?r1=1.937&r2=1.938&f=u
More information about the pld-cvs-commit
mailing list