mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 06:11:32 +02:00
Commit ca30839 and following ("MINOR: ebtree: implement the scope-aware functions for eb32") improperly dealt with the scope in duplicate trees. The insertion was too lenient in that it would always mark the whole rightmost chain below the insertion point, and the removal could leave marks of non-existing scopes causing next()/first() to visit the wrong branch and return NULL. For insertion, we must only tag the nodes between the head of the dup tree and the insertion point which is the top of the lowest subtree. For removal, the new scope must be be calculated by oring the scopes of the two new branches and is irrelevant to the previous values. No backport is needed, this is purely 1.8-specific.