Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/bsd/bind/dist the patch for CVE-2012-3868 was incom...



details:   https://anonhg.NetBSD.org/src/rev/9278e320bd0d
branches:  trunk
changeset: 780446:9278e320bd0d
user:      spz <spz%NetBSD.org@localhost>
date:      Tue Jul 24 20:00:44 2012 +0000

description:
the patch for CVE-2012-3868 was incomplete

diffstat:

 external/bsd/bind/dist/CHANGES                     |   2 ++
 external/bsd/bind/dist/lib/dns/resolver.c          |   4 ++--
 external/bsd/bind/dist/lib/isc/include/isc/queue.h |  12 ++++++------
 3 files changed, 10 insertions(+), 8 deletions(-)

diffs (70 lines):

diff -r 4c149ae8235d -r 9278e320bd0d external/bsd/bind/dist/CHANGES
--- a/external/bsd/bind/dist/CHANGES    Tue Jul 24 18:06:28 2012 +0000
+++ b/external/bsd/bind/dist/CHANGES    Tue Jul 24 20:00:44 2012 +0000
@@ -1,5 +1,7 @@
        --- 9.9.1-P2 released ---
 
+3349.  [bug]           Change #3345 was incomplete. [RT #30233]
+
 3346.  [security]      Bad-cache data could be used before it was
                        initialized, causing an assert. [RT #30025]
 
diff -r 4c149ae8235d -r 9278e320bd0d external/bsd/bind/dist/lib/dns/resolver.c
--- a/external/bsd/bind/dist/lib/dns/resolver.c Tue Jul 24 18:06:28 2012 +0000
+++ b/external/bsd/bind/dist/lib/dns/resolver.c Tue Jul 24 20:00:44 2012 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: resolver.c,v 1.13 2012/07/24 18:06:28 spz Exp $        */
+/*     $NetBSD: resolver.c,v 1.14 2012/07/24 20:00:45 spz Exp $        */
 
 /*
  * Copyright (C) 2004-2012  Internet Systems Consortium, Inc. ("ISC")
@@ -8465,7 +8465,7 @@
                    resolver->badhash > DNS_BADCACHE_SIZE)
                        resizehash(resolver, &now, ISC_FALSE);
        } else
-       bad->expire = *expire;
+               bad->expire = *expire;
  cleanup:
        UNLOCK(&resolver->lock);
 }
diff -r 4c149ae8235d -r 9278e320bd0d external/bsd/bind/dist/lib/isc/include/isc/queue.h
--- a/external/bsd/bind/dist/lib/isc/include/isc/queue.h        Tue Jul 24 18:06:28 2012 +0000
+++ b/external/bsd/bind/dist/lib/isc/include/isc/queue.h        Tue Jul 24 20:00:44 2012 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: queue.h,v 1.2 2012/07/24 18:06:29 spz Exp $    */
+/*     $NetBSD: queue.h,v 1.3 2012/07/24 20:00:45 spz Exp $    */
 
 /*
  * Copyright (C) 2011, 2012  Internet Systems Consortium, Inc. ("ISC")
@@ -103,15 +103,15 @@
                } \
                LOCK(&(queue).taillock); \
                if ((queue).tail == NULL && !headlocked) { \
-               UNLOCK(&(queue).taillock); \
+                       UNLOCK(&(queue).taillock); \
                        LOCK(&(queue).headlock); \
                        LOCK(&(queue).taillock); \
                        headlocked = ISC_TRUE; \
                } \
+               (elt)->link.prev = (queue).tail; \
+               (elt)->link.next = NULL; \
                if ((queue).tail != NULL) \
                        (queue).tail->link.next = (elt); \
-               (elt)->link.prev = (queue).tail; \
-               (elt)->link.next = NULL; \
                (queue).tail = (elt); \
                UNLOCK(&(queue).taillock); \
                if (headlocked) { \
@@ -130,10 +130,10 @@
                                LOCK(&(queue).taillock); \
                                if (ret->link.next == NULL) { \
                                        (queue).head = (queue).tail = NULL; \
-                               UNLOCK(&(queue).taillock); \
+                                       UNLOCK(&(queue).taillock); \
                                        break; \
                        } \
-                               UNLOCK(&(queue).taillock); \
+                       UNLOCK(&(queue).taillock); \
                } \
                        (queue).head = ret->link.next; \
                        (queue).head->link.prev = NULL; \



Home | Main Index | Thread Index | Old Index