--- /dev/null
+/// Graph with >63 styles, totalling >128 bytes in one attribute. Note that we
+/// do not need the styles to be unique for this test case.
+
+digraph {
+ a[style="filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled,filled"];
+}
assert re.search(r"\bG2_", m.group("url")) is not None, \
"ID G2 was not applied to polygon fill url"
+@pytest.mark.xfail()
+def test_2325():
+ """
+ using more than 63 styles and/or more than 128 style bytes should not trigger
+ an out-of-bounds memory read
+ https://gitlab.com/graphviz/graphviz/-/issues/2325
+ """
+
+ # locate our associated test case in this directory
+ input = Path(__file__).parent / "2325.dot"
+ assert input.exists(), "unexpectedly missing test case"
+
+ # run it through Graphviz
+ dot("svg", input)
+
def test_changelog_dates():
"""
Check the dates of releases in the changelog are correctly formatted