- Out-of-bounds write caused by incorrect error handling of malloc in genUserdata #1928
- Offer .tar.xz files too #454
- Header file graphviz_version.h has no include guards #1929
+- regression: newlines embedded in quoted labels / node names are not preserved in 2.46.0 #1931
## [2.46.0] - 2021-01-18
%x hstring
%%
{GRAPH_EOF_TOKEN} return(EOF);
-<INITIAL,comment,qstring>\n line_num++;
+<INITIAL,comment>\n line_num++;
"/*" BEGIN(comment);
<comment>[^*\n]* /* eat anything not a '*' */
<comment>"*"+[^*/\n]* /* eat up '*'s not followed by '/'s */
<qstring>[\\]["] addstr ("\"");
<qstring>[\\][\\] addstr ("\\\\");
<qstring>[\\][\n] line_num++; /* ignore escaped newlines */
+<qstring>[\n] addstr ("\n"); line_num++;
<qstring>([^"\\\n]*|[\\]) addstr(aagtext);
[<] BEGIN(hstring); html_nest = 1; beginstr();
<hstring>[>] html_nest--; if (html_nest) addstr(aagtext); else {BEGIN(INITIAL); endstr_html(); return (T_qatom);}
_, stderr = run(graph.format(input))
assert 'Warning: Illegal value {} for ALIGN - ignored'.format(input) in stderr
-@pytest.mark.xfail(strict=True)
def test_1931():
'''
New lines within strings should not be discarded during parsing