Module Name:    src
Committed By:   spz
Date:           Tue Jul 24 20:00:45 UTC 2012

Modified Files:
        src/external/bsd/bind/dist: CHANGES
        src/external/bsd/bind/dist/lib/dns: resolver.c
        src/external/bsd/bind/dist/lib/isc/include/isc: queue.h

Log Message:
the patch for CVE-2012-3868 was incomplete


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/bsd/bind/dist/CHANGES
cvs rdiff -u -r1.13 -r1.14 src/external/bsd/bind/dist/lib/dns/resolver.c
cvs rdiff -u -r1.2 -r1.3 \
    src/external/bsd/bind/dist/lib/isc/include/isc/queue.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/bind/dist/CHANGES
diff -u src/external/bsd/bind/dist/CHANGES:1.4 src/external/bsd/bind/dist/CHANGES:1.5
--- src/external/bsd/bind/dist/CHANGES:1.4	Tue Jul 24 18:06:28 2012
+++ src/external/bsd/bind/dist/CHANGES	Tue Jul 24 20:00:44 2012
@@ -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]
 

Index: src/external/bsd/bind/dist/lib/dns/resolver.c
diff -u src/external/bsd/bind/dist/lib/dns/resolver.c:1.13 src/external/bsd/bind/dist/lib/dns/resolver.c:1.14
--- src/external/bsd/bind/dist/lib/dns/resolver.c:1.13	Tue Jul 24 18:06:28 2012
+++ src/external/bsd/bind/dist/lib/dns/resolver.c	Tue Jul 24 20:00:45 2012
@@ -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 @@ dns_resolver_addbadcache(dns_resolver_t 
 		    resolver->badhash > DNS_BADCACHE_SIZE)
 			resizehash(resolver, &now, ISC_FALSE);
 	} else
-	bad->expire = *expire;
+		bad->expire = *expire;
  cleanup:
 	UNLOCK(&resolver->lock);
 }

Index: src/external/bsd/bind/dist/lib/isc/include/isc/queue.h
diff -u src/external/bsd/bind/dist/lib/isc/include/isc/queue.h:1.2 src/external/bsd/bind/dist/lib/isc/include/isc/queue.h:1.3
--- src/external/bsd/bind/dist/lib/isc/include/isc/queue.h:1.2	Tue Jul 24 18:06:29 2012
+++ src/external/bsd/bind/dist/lib/isc/include/isc/queue.h	Tue Jul 24 20:00:45 2012
@@ -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; \
 		} \
-		if ((queue).tail != NULL) \
-			(queue).tail->link.next = (elt); \
 		(elt)->link.prev = (queue).tail; \
 		(elt)->link.next = NULL; \
+		if ((queue).tail != NULL) \
+			(queue).tail->link.next = (elt); \
 		(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; \

Reply via email to