never iterate on the edge_vector()
This fixes #552, reported by Rüdiger and Ayrat. * tests/sanity/style.test: Warn aginst iterations on edge_vector. * spot/parseaut/parseaut.yy, spot/twaalgos/complete.cc, spot/twaalgos/parity.cc: Iterate over edges(), not edge_vector(). * tests/core/ltlcross.test: Add a test case for #552. * NEWS: Mention the bug.
This commit is contained in:
parent
313e43c84b
commit
205df01390
6 changed files with 27 additions and 7 deletions
10
NEWS
10
NEWS
|
|
@ -156,6 +156,16 @@ New in spot 2.11.6.dev (not yet released)
|
|||
could fail to equate two "t" condition, because we have two ways
|
||||
to represent "t": the empty condition, or the empty "Inf({})".
|
||||
|
||||
- Functions complement() and change_parity() could incorrectly read
|
||||
or write the unused edge #0. In the case of complement(), writing
|
||||
that edge was usually harmless. However in some scenario,
|
||||
complement could need to stick a ⓪ acceptance mark on edge #0,
|
||||
then the acceptance condition could be simplified to "t", and
|
||||
finally change_parity could be confused to find such an accepting
|
||||
mark in an automaton that declares no colors, and perform some
|
||||
computation on that color that caused it to crash with a "Too many
|
||||
acceptance sets used" message. (issue #552)
|
||||
|
||||
New in spot 2.11.6 (2023-08-01)
|
||||
|
||||
Bug fixes:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue