Check the prunelink member of the correct node

Commit 37101c7c8a checks the prunelink
member of the node that was just pruned, not its parent node that was
intended to be examined.  Fix by checking the prunelink member of the
parent node, so that adding the latter to its relevant prunenodes list
twice is properly guarded against.

(cherry picked from commit 7d9be24bb1)
This commit is contained in:
Michał Kępień 2024-03-02 06:36:37 +01:00
parent 0640429444
commit 0b59306166
No known key found for this signature in database

View file

@ -2318,7 +2318,7 @@ prune_tree(isc_task_t *task, isc_event_t *event) {
* prunenodes list we are currently processing (unless
* the parent is already on that list).
*/
if (!ISC_LINK_LINKED(node, prunelink)) {
if (!ISC_LINK_LINKED(parent, prunelink)) {
new_reference(rbtdb, parent,
isc_rwlocktype_write);
ISC_LIST_APPEND(rbtdb->prunenodes[locknum],