]> granicus.if.org Git - multimarkdown/commitdiff
FIXED: Improve memory management
authorFletcher T. Penney <fletcher@fletcherpenney.net>
Fri, 14 Apr 2017 22:41:16 +0000 (18:41 -0400)
committerFletcher T. Penney <fletcher@fletcherpenney.net>
Fri, 14 Apr 2017 22:41:16 +0000 (18:41 -0400)
Sources/libMultiMarkdown/mmd.c

index 31e08b5b8a75ae09fa37b28f3e4b68fdd5f11130..9eb16537354ba4fdb8f0d294f3f8db5245e6cf92 100644 (file)
@@ -226,6 +226,9 @@ void mmd_engine_free(mmd_engine * e, bool freeDString) {
        if (e == NULL)
                return;
 
+       if (e->root)
+               token_tree_free(e->root);
+
        if (freeDString)
                d_string_free(e->dstr, true);
 
@@ -1832,12 +1835,12 @@ void strip_line_tokens_from_block(mmd_engine * e, token * block) {
 
 /// Parse part of the string into a token tree
 token * mmd_engine_parse_substring(mmd_engine * e, size_t byte_start, size_t byte_len) {
+       // First, clean up any leftovers from previous parse
+
        // Free existing parse tree
        if (e->root)
                token_tree_free(e->root);
 
-       // New parse tree
-
        // Free necessary stacks
 
        // Abbreviations need to be freed