Stack underflow in XML parser
Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=1468
Reported by @marcus
When parsing a notation declaration without an ExternalID or PublicID, the parser causes pike to dump core.
Pike v7.2 release 26 running Hilfe v2.0 (Incremental Pike Frontend)
> Parser.XML.Simple()->parse("<!DOCTYPE root [\n<!NOTATION JPGformat
>\n]>\n", lambda(mixed ...){});
/home/marcus/pike/src/modules/spider/xml.c:1608: Fatal error:
Stack underflow.
Attempting to dump backlog (may fail)...
Backtrace at time of fatal:
/home/marcus/pike/lib/modules/Parser.pmod/XML.pmod/Simple.pike:
parse("<!DOCTYPE root [\n<!NOTATION JPGformat
>\n]>\n",__lambda_65625_0)
-:1: ___Foo4711()
/home/marcus/pike/lib/modules/Tools.pmod/Hilfe.pmod:103:
do_evaluate("mixed ___Foo4711() { return
(mixed)(Parser.XML.Simple()->pars
e(\"<!DOCTYPE root [\\n<!NOTATION JPGformat >\\n]>\\n\", lambda(mixed
...)
{}));
}\n",1)
/home/marcus/pike/lib/modules/Tools.pmod/Hilfe.pmod:603:
parse_statement("Parser.XML.Simple()->parse(\"<!DOCTYPE root
[\\n<!NOTATIO
N JPGformat >\\n]>\\n\", lambda(mixed
...){});")
/home/marcus/pike/lib/modules/Tools.pmod/Hilfe.pmod:381: do_parse()
/home/marcus/pike/lib/modules/Tools.pmod/Hilfe.pmod:224:
add_buffer("Parser.XML.Simple()->parse(\"<!DOCTYPE root [\\n<!NOTATION
JPG
format >\\n]>\\n\", lambda(mixed
...){});\n")
/home/marcus/pike/lib/modules/Tools.pmod/Hilfe.pmod:623:
add_input_line("Parser.XML.Simple()->parse(\"<!DOCTYPE root
[\\n<!NOTATION
JPGformat >\\n]>\\n\", lambda(mixed
...){});\n")
/home/marcus/pike/lib/modules/Tools.pmod/Hilfe.pmod:703: create()
Hilfe: StdinHilfe()
/home/marcus/pike/bin/hilfe:5: main(1,({"/home/marcus/pike/bin/hilfe"}))
make: *** [run_hilfe] Abort (core dumped)