Date: Mon, 23 Oct 2000 09:23:59 -0700 (PDT) From: daveg@chiaro.com To: freebsd-gnats-submit@FreeBSD.org Subject: kern/22244: Uninitialized field in radix_node structure Message-ID: <20001023162359.A4C3437B479@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 22244 >Category: kern >Synopsis: Uninitialized field in radix_node structure >Confidential: no >Severity: non-critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Oct 23 09:30:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Dave Gillam >Release: 4.0 >Organization: Chiaro Networks >Environment: FreeBSD bsd3.chiaro.com 4.0-RELEASE FreeBSD 4.0-RELEASE #0: Tue Sep 5 10:38:30 CDT 2000 daveg@bsd3.chiaro.com:/usr/src/sys/compile/bsd3 i386 >Description: The rn_mklist field of the radix_node structure is not always set to NULL when a radix_node is inserted into the radix tree. This can cause the code to incorrectly traverse a rn_mklist list and also causes rn_delete() to emit log messages. >How-To-Repeat: Continual add and remove radix_node from a radix tree. >Fix: zero out the rn_mklist field in the function rn_newpair(). *** radix.c 2000/05/25 17:14:47 1.2 --- radix.c 2000/10/16 17:29:25 1.3 *************** *** 340,345 **** --- 340,346 ---- t->rn_l = tt; t->rn_off = b >> 3; tt->rn_b = -1; tt->rn_key = (caddr_t)v; tt->rn_p = t; tt->rn_flags = t->rn_flags = RNF_ACTIVE; + t->rn_mklist = tt->rn_mklist = 0; /* zero mask list */ #ifdef RN_DEBUG tt->rn_info = rn_nodenum++; t->rn_info = rn_nodenum++; tt->rn_twin = t; tt->rn_ybro = rn_clist; rn_clist = tt; >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001023162359.A4C3437B479>