summaryrefslogtreecommitdiff
path: root/test/recurse/lol4.patch
diff options
context:
space:
mode:
Diffstat (limited to 'test/recurse/lol4.patch')
-rw-r--r--test/recurse/lol4.patch16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/recurse/lol4.patch b/test/recurse/lol4.patch
new file mode 100644
index 0000000..f41be28
--- /dev/null
+++ b/test/recurse/lol4.patch
@@ -0,0 +1,16 @@
+Index: parser.c
+===================================================================
+--- parser.c (revision 3773)
++++ parser.c (working copy)
+@@ -2505,6 +2505,11 @@ xmlStringLenDecodeEntities(xmlParserCtxt
+ c = CUR_SCHAR(str, l);
+ else
+ c = 0;
++ if ((nbchars > 500000) &&
++ (ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE)) {
++ xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
++ goto int_error;
++ }
+ }
+ buffer[nbchars++] = 0;
+ return(buffer);