From cef66d42f91d934ce8bd058cd7c76b87f78628a7 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sun, 23 Aug 2020 10:58:08 -0700 Subject: Add MAX_INDENT for xml. Otherwise we can get quadratic increase in size with deeply nested structures. See #355. --- src/xml.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/xml.c b/src/xml.c index 731bc01..f1dcfd2 100644 --- a/src/xml.c +++ b/src/xml.c @@ -10,6 +10,7 @@ #include "houdini.h" #define BUFFER_SIZE 100 +#define MAX_INDENT 40 // Functions to convert cmark_nodes to XML strings. @@ -30,7 +31,7 @@ struct render_state { static CMARK_INLINE void indent(struct render_state *state) { int i; - for (i = 0; i < state->indent; i++) { + for (i = 0; i < state->indent && i < MAX_INDENT; i++) { cmark_strbuf_putc(state->xml, ' '); } } -- cgit v1.2.3