Actions
Bug #2029
closedName LSAs in LSDB may become inconsistent due to std::set_difference on unsorted sets
Start date:
10/03/2014
Due date:
% Done:
100%
Estimated time:
Description
In Lsdb::installNameLsa, the incoming name LSA's name prefix list is compared to the corresponding name LSA in the LSDB, both name prefix lists are sorted, and a set difference is performed to find the names that need to be added. This modifies the name LSA in the LSDB.
Then, a set difference is performed on both lists again to find the names that need to be removed. But, a requirement of std::set_difference is that both sets being compared are ordered. In the previous step, the name LSA's prefix list was modified and so may be unordered.
Actions