From d94d592d2b76c2f0c4bc27ab74ff145ee1e390f5 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Fri, 28 Nov 2014 12:14:44 -0800 Subject: Avoid potential memory leak. Previously, if malloc failed to allocate 'newstack', the function would return without freeing 'stack'. Pointed out by clang static analyzer. --- src/blocks.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/blocks.c b/src/blocks.c index b51179b..c028b8b 100644 --- a/src/blocks.c +++ b/src/blocks.c @@ -302,7 +302,7 @@ static void process_inlines(cmark_node* cur, cmark_reference_map *refmap) if (cur->first_child) { newstack = (block_stack*)malloc(sizeof(block_stack)); - if (newstack == NULL) return; + if (newstack == NULL) break; newstack->previous = stack; stack = newstack; stack->next_sibling = cur->next; @@ -840,4 +840,3 @@ cmark_node *cmark_finish(cmark_doc_parser *parser) #endif return parser->root; } - -- cgit v1.2.3