summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn MacFarlane <fiddlosopher@gmail.com>2014-11-28 12:14:44 -0800
committerJohn MacFarlane <fiddlosopher@gmail.com>2014-11-28 12:14:44 -0800
commitd94d592d2b76c2f0c4bc27ab74ff145ee1e390f5 (patch)
tree89e7d7d566ba062a0d811e8f69abb0dbb928d956 /src
parent3f251cdca271ddb79d06fb8fc101499d0e9a3021 (diff)
Avoid potential memory leak.
Previously, if malloc failed to allocate 'newstack', the function would return without freeing 'stack'. Pointed out by clang static analyzer.
Diffstat (limited to 'src')
-rw-r--r--src/blocks.c3
1 files changed, 1 insertions, 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;
}
-