From d9f5a3fe2555ecf9d64e392d8febf551c60ddbe5 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Mon, 27 Jul 2015 23:11:31 -0700 Subject: Disallow list item starting with multiple blank lines. See jgm/CommonMark#332 --- src/blocks.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/blocks.c b/src/blocks.c index c466fc2..9a8a9a6 100644 --- a/src/blocks.c +++ b/src/blocks.c @@ -635,7 +635,10 @@ static void S_process_line(cmark_parser *parser, const unsigned char *buffer, S_advance_offset(parser, &input, container->as.list.marker_offset + container->as.list.padding, true); - } else if (parser->blank) { + } else if (parser->blank && container->first_child != NULL) { + // if container->first_child is NULL, then the opening line + // of the list item was blank after the list marker; in this + // case, we are done with the list item. S_advance_offset(parser, &input, parser->first_nonspace - parser->offset, false); } else { -- cgit v1.2.3