Fix GHSL-2023-119: prevent quadratic performance by not allowing very deeply nested footnote definitions.

This commit is contained in:
Kevin Backhouse 2023-05-26 11:48:13 +01:00
Родитель 1e230827a5
Коммит 1d17fa9d5a
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 9DD01852EE40366E
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -1217,7 +1217,8 @@ static void open_new_blocks(cmark_parser *parser, cmark_node **container,
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);