diff options
author | Nick Wellnhofer <wellnhofer@aevum.de> | 2016-12-09 21:57:12 +0100 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2016-12-09 21:57:12 +0100 |
commit | 29c46c5aeda66e9c454ac8d802e65692d0bab566 (patch) | |
tree | 387e7ce604437b0a91054304852c2279cbe933dd /src | |
parent | 5255e2d5717dc7a265ca79404d387ef8abe8c004 (diff) |
Correctly initialize chunk in S_process_line (#170)
The `alloc` member wasn't initialized.
This also allows to add an assertion in `chunk_rtrim` which doesn't
work for alloced chunks.
Diffstat (limited to 'src')
-rw-r--r-- | src/blocks.c | 1 | ||||
-rw-r--r-- | src/chunk.h | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/blocks.c b/src/blocks.c index de47dfb..99dd082 100644 --- a/src/blocks.c +++ b/src/blocks.c @@ -1157,6 +1157,7 @@ static void S_process_line(cmark_parser *parser, const unsigned char *buffer, input.data = parser->curline.ptr; input.len = parser->curline.size; + input.alloc = 0; parser->line_number++; diff --git a/src/chunk.h b/src/chunk.h index 666484c..f198be3 100644 --- a/src/chunk.h +++ b/src/chunk.h @@ -37,6 +37,8 @@ static CMARK_INLINE void cmark_chunk_ltrim(cmark_chunk *c) { } static CMARK_INLINE void cmark_chunk_rtrim(cmark_chunk *c) { + assert(!c->alloc); + while (c->len > 0) { if (!cmark_isspace(c->data[c->len - 1])) break; |