CVSROOT: /cvs Module name: src Changes by: clau...@cvs.openbsd.org 2022/03/01 02:53:42
Modified files: usr.sbin/bgpd : rde_update.c Log message: up_dump_prefix() should not clear the p->flags before possibly calling prefix_adjout_destroy(). Doing so will restult in a double pt_unref() call because prefix_adjout_destroy() no longer notices that the prefix was an actuall withdraw and wrongly calls prefix_unlink(). For updates the PREFIX_FLAG_UPDATE flag needs to be cleared after removing the prefix from the update RB tree. Adjust the EoR codepath in a similar way. EoR have a NULL pt_entry and so prefix_adjout_destroy() is unable to do the RB_REMOVE. This fixes the regress errors reported by anton@ OK tb@