]> git.puffer.fish Git - mirror/frr.git/commit
lib: fix prefix list trie corruption 963/head
authorDavid Lamparter <equinox@opensourcerouting.org>
Fri, 11 Aug 2017 16:54:26 +0000 (18:54 +0200)
committerDavid Lamparter <equinox@opensourcerouting.org>
Fri, 11 Aug 2017 17:02:22 +0000 (19:02 +0200)
commitb4e55fc5e86ad6ed38b04ed121890227dcc00463
tree49910093b5edd28a5163ed718cfdac8d918740c6
parentfc4ecb5a5e0acee20d7a8fa5a0e9c4403ae51f6e
lib: fix prefix list trie corruption

The specific code here needs to establish an absolute order of more
specific to less specific possible matches in a prefix list.  This is
indirectly checked by an assert on insertion, because the "next best"
entry is required to be consistent even when joining multiple chains
of candidates.

Unfortunately, trie_install_fn() would insert entries too far ahead in
the chain if another entry with higher sequence number was seen.  This
breaks the trie and (rightfully) triggers the assertion failure on
insert.

Fixes: #937
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
lib/plist.c