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