cmark

Unnamed repository; edit this file 'description' to name the repository.

commit 29c46c5aeda66e9c454ac8d802e65692d0bab566
parent 5255e2d5717dc7a265ca79404d387ef8abe8c004
Author: Nick Wellnhofer <wellnhofer@aevum.de>
Date:   Fri,  9 Dec 2016 21:57:12 +0100

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:
Msrc/blocks.c | 1+
Msrc/chunk.h | 2++
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git 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
@@ -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;