summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWander Lairson Costa <wander@redhat.com>2026-02-23 13:17:52 -0300
committerGabriele Monaco <gmonaco@redhat.com>2026-04-01 10:16:18 +0200
commit5d5a7d88185bc7c99328a29498efb3154e2d23d7 (patch)
treefb9a9f07366526b546ab5f30736b5696142c2374
parent0d5c9f1091350328d903f4aed5de31f493a2f55b (diff)
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>
-rw-r--r--tools/verification/rvgen/rvgen/automata.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/verification/rvgen/rvgen/automata.py b/tools/verification/rvgen/rvgen/automata.py
index 397f236e6eea..6b0dc1a8cd6a 100644
--- a/tools/verification/rvgen/rvgen/automata.py
+++ b/tools/verification/rvgen/rvgen/automata.py
@@ -99,7 +99,7 @@ class Automata:
# checking the first line:
line = dot_lines[cursor].split()
- if (line[0] != "digraph") and (line[1] != "state_automaton"):
+ if (line[0] != "digraph") or (line[1] != "state_automaton"):
raise AutomataError(f"Not a valid .dot format: {self.__dot_path}")
else:
cursor += 1