From 2cbb135cbbc43b330506aaecb04a1177681264d0 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Mon, 4 May 2015 09:58:30 -0700 Subject: Better solution for memory leak in `cmark_consolidate_text_nodes`. This avoids allocating a new string. Closes #32. --- src/iterator.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/iterator.c') diff --git a/src/iterator.c b/src/iterator.c index 8ed0cc4..a149072 100644 --- a/src/iterator.c +++ b/src/iterator.c @@ -121,7 +121,6 @@ void cmark_consolidate_text_nodes(cmark_node *root) cmark_strbuf buf = GH_BUF_INIT; cmark_event_type ev_type; cmark_node *cur, *tmp, *next; - char *detached; while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) { cur = cmark_iter_get_node(iter); @@ -139,11 +138,10 @@ void cmark_consolidate_text_nodes(cmark_node *root) cmark_node_free(tmp); tmp = next; } - detached = (char *)cmark_strbuf_detach(&buf); - cmark_node_set_literal(cur, detached); - free(detached); + cmark_node_set_literal(cur, (char *)buf.ptr); } } + cmark_strbuf_free(&buf); cmark_iter_free(iter); } -- cgit v1.2.3