Skip to content

Commit 5d5a7d8

Browse files
walacglemco
authored andcommitted
rv/rvgen: fix DOT file validation logic error
Fix incorrect boolean logic in automata DOT file format validation that allowed malformed files to pass undetected. The previous implementation used a logical AND operator where OR was required, causing the validation to only reject files when both the first token was not "digraph" AND the second token was not "state_automaton". This meant a file starting with "digraph" but having an incorrect second token would incorrectly pass validation. The corrected logic properly rejects DOT files where either the first token is not "digraph" or the second token is not "state_automaton", ensuring that only properly formatted automaton definition files are accepted for processing. Without this fix, invalid DOT files could cause downstream parsing failures or generate incorrect C code for runtime verification monitors. Signed-off-by: Wander Lairson Costa <wander@redhat.com> Reviewed-by: Nam Cao <namcao@linutronix.de> Reviewed-by: Gabriele Monaco <gmonaco@redhat.com> Link: https://lore.kernel.org/r/20260223162407.147003-10-wander@redhat.com Signed-off-by: Gabriele Monaco <gmonaco@redhat.com>
1 parent 0d5c9f1 commit 5d5a7d8

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

tools/verification/rvgen/rvgen/automata.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def __open_dot(self) -> list[str]:
9999
# checking the first line:
100100
line = dot_lines[cursor].split()
101101

102-
if (line[0] != "digraph") and (line[1] != "state_automaton"):
102+
if (line[0] != "digraph") or (line[1] != "state_automaton"):
103103
raise AutomataError(f"Not a valid .dot format: {self.__dot_path}")
104104
else:
105105
cursor += 1

0 commit comments

Comments
 (0)