BIND 10 #2092: RBNode parent pointer updates
BIND 10 Development
do-not-reply at isc.org
Wed Jul 25 16:26:13 UTC 2012
#2092: RBNode parent pointer updates
-------------------------------------+-------------------------------------
Reporter: | Owner: vorner
jinmei | Status: reviewing
Type: task | Milestone:
Priority: | Sprint-20120731
medium | Resolution:
Component: data | Sensitive: 0
source | Sub-Project: DNS
Keywords: | Estimated Difficulty: 4
Defect Severity: N/A | Total Hours: 0
Feature Depending on Ticket: |
scalable inmemory |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jinmei):
I guess this comment was intended for this ticket, not #2091:
http://bind10.isc.org/ticket/2091#comment:14
So I'm copying it here and changing the ticket owner.
Hello
The code looks mostly OK, but:
* The rebasing is not good for reviewing. Since rebasing could have
changed (or you, because of the conflicts) the old commits, I needed to
review the whole thing once again.
* Inspired by what Jinmei mentioned yesterday in Jabber, this (and
similar ones) looks unsafe:
{{{#!c++
if (parent == parent->getParent()->getLeft())
}}}
The code checks only that the node is not root, so the parent can be.
And it could be the root of the top-most tree, in which case the parent
would be NULL. So parent->getParent() would return NULL and the getLeft
would segfault. I think this is one of the places where the code assumed
the link-to-self property of the sentinel.
--
Ticket URL: <http://bind10.isc.org/ticket/2092#comment:15>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list