comparators/deb: Fix matching for .deb archive members. (Closes: #903565)
my_members is iterated in DebContainer.perform_fuzzy_matching but is modified
in Container.comparisons.prep_yield which remove the current item from
my_members.
This causes an `RuntimeError: OrderedDict mutated during iteration` error.
This was not detected by the existing `test_deb.test_compare_different_compression`
test as it triggers only when there is more than one file in the .deb file.
(That test use only one file: control.tar.{gz,xz}).
Signed-off-by:
Chris Lamb <lamby@debian.org>
Showing
- diffoscope/comparators/deb.py 5 additions, 0 deletionsdiffoscope/comparators/deb.py
- diffoscope/comparators/utils/fuzzy.py 1 addition, 1 deletiondiffoscope/comparators/utils/fuzzy.py
- tests/comparators/test_deb.py 7 additions, 0 deletionstests/comparators/test_deb.py
- tests/data/bug903565_1.deb 0 additions, 0 deletionstests/data/bug903565_1.deb
- tests/data/bug903565_2.deb 0 additions, 0 deletionstests/data/bug903565_2.deb
tests/data/bug903565_1.deb
0 → 100644
File added
tests/data/bug903565_2.deb
0 → 100644
File added