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

_______________________________________________
pld-cvs-commit mailing list
pld-cvs-commit@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to