]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2640. [security] A specially crafted update packet will cause named
authorMark Andrews <marka@isc.org>
Tue, 28 Jul 2009 15:45:43 +0000 (15:45 +0000)
committerMark Andrews <marka@isc.org>
Tue, 28 Jul 2009 15:45:43 +0000 (15:45 +0000)
                        to exit. [RT #20000]

CHANGES
bin/named/update.c

diff --git a/CHANGES b/CHANGES
index 49c48e3a28574e7d21c90579c38b8aa39b33cf9d..d1596640171fe48faecfc0b4521b00eada1e57bc 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,5 @@
-2640.  [placeholder]
+2640.  [security]      A specially crafted update packet will cause named
+                       to exit. [RT #20000]
 
        --- 9.7.0a2 released ---
 
index d0969efb58eb44a32dce455347a731e03413b001..2f580720ed698de693282944f2963407759e121e 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: update.c,v 1.157 2009/04/30 06:59:11 marka Exp $ */
+/* $Id: update.c,v 1.158 2009/07/28 15:45:43 marka Exp $ */
 
 #include <config.h>
 
@@ -979,7 +979,11 @@ temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t *db,
                        if (type == dns_rdatatype_rrsig ||
                            type == dns_rdatatype_sig)
                                covers = dns_rdata_covers(&t->rdata);
-                       else
+                       else if (type == dns_rdatatype_any) {
+                               dns_db_detachnode(db, &node);
+                               dns_diff_clear(&trash);
+                               return (DNS_R_NXRRSET);
+                       } else
                                covers = 0;
 
                        /*