Please sign in to comment.
lib: internal: nativeresolver: solution: SolutionStorage: __update_br…
…oken_successors: fixed possible double-adding In extremely rare but happened in practice cases, if there is a pair of supplementary half-circular-dependencies in couple of releases without a fully circular dependency in any of releases (for example A->B in squeeze and B->A in wheezy, but nor A->A or B->B in either of them; practical example: perl-modules&libclass-isa-perl), the algorithm in __update_broken_successors() incorrectly adds the dependency relation twice which breaks the invariant. Releases themselves are not important, any very unlucky pair of available versions of two packages with properties above will cause this. Handle this corner case by not considering in the second adding loop elements which were considered (successfully or not) in the first adding loop.
- Loading branch information...
Showing with 1 addition and 0 deletions.