XML parser failed on ]]]> termination of CDATA.

This commit is contained in:
Olof hagsand 2019-12-19 21:43:03 +01:00
parent 241ae26e55
commit ab46ce9820
2 changed files with 4 additions and 7 deletions

View file

@ -94,7 +94,6 @@ ncname {namestart}{namechar}*
%s STATEA
%s AMPERSAND
%s CDATA
%s CDATAEND
%s CMNT
%s STR
%s TEXTDECL
@ -147,12 +146,9 @@ ncname {namestart}{namechar}*
<AMPERSAND>"quot;" { BEGIN(_YA->ya_lex_state); clixon_xml_parselval.string = "\""; return CHARDATA;}
<CDATA>\n { clixon_xml_parselval.string = yytext;_YA->ya_linenum++; return (CHARDATA);}
<CDATA>\] { BEGIN(CDATAEND);clixon_xml_parselval.string = yytext;return (CHARDATA);}
<CDATA>[^]\n]+ { clixon_xml_parselval.string = yytext; return CHARDATA;}
<CDATAEND>\n { clixon_xml_parselval.string = yytext;_YA->ya_linenum++; return (CHARDATA);}
<CDATAEND>"]>" { BEGIN(_YA->ya_lex_state); clixon_xml_parselval.string = yytext; return CHARDATA;}
<CDATAEND>. { BEGIN(CDATA); clixon_xml_parselval.string = yytext;return (CHARDATA);}
<CDATA>"]]>" { BEGIN(_YA->ya_lex_state); clixon_xml_parselval.string = yytext; return CHARDATA;}
<CDATA>\] { clixon_xml_parselval.string = yytext; return CHARDATA;}
<CDATA>[^]\n]+ { clixon_xml_parselval.string = yytext; return CHARDATA;}
<CMNT>"-->" { BEGIN(START); return ECOMMENT; }
<CMNT>.