ext/commonmarker/blocks.c in commonmarker-0.23.9 vs ext/commonmarker/blocks.c in commonmarker-0.23.10
- old
+ new
@@ -1215,17 +1215,19 @@
// it's only now that we know the line is not part of a setext heading:
*container = add_child(parser, *container, CMARK_NODE_THEMATIC_BREAK,
parser->first_nonspace + 1);
S_advance_offset(parser, input, input->len - 1 - parser->offset, false);
} else if (!indented &&
- parser->options & CMARK_OPT_FOOTNOTES &&
+ (parser->options & CMARK_OPT_FOOTNOTES) &&
+ depth < MAX_LIST_DEPTH &&
(matched = scan_footnote_definition(input, parser->first_nonspace))) {
cmark_chunk c = cmark_chunk_dup(input, parser->first_nonspace + 2, matched - 2);
- cmark_chunk_to_cstr(parser->mem, &c);
while (c.data[c.len - 1] != ']')
--c.len;
--c.len;
+
+ cmark_chunk_to_cstr(parser->mem, &c);
S_advance_offset(parser, input, parser->first_nonspace + matched - parser->offset, false);
*container = add_child(parser, *container, CMARK_NODE_FOOTNOTE_DEFINITION, parser->first_nonspace + matched + 1);
(*container)->as.literal = c;