From: Fletcher T. Penney Date: Mon, 3 Jul 2017 12:19:56 +0000 (-0400) Subject: FIXED: Avoid a few potential crashes X-Git-Tag: 6.1.0^2~10 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1a80e94d20178cb114cc496b250153afe56fdc6f;p=multimarkdown FIXED: Avoid a few potential crashes --- diff --git a/Sources/libMultiMarkdown/mmd.c b/Sources/libMultiMarkdown/mmd.c index b6a3ef3..0831a10 100644 --- a/Sources/libMultiMarkdown/mmd.c +++ b/Sources/libMultiMarkdown/mmd.c @@ -205,6 +205,9 @@ mmd_engine * mmd_engine_create_with_string(const char * str, unsigned long exten /// Set language and smart quotes language void mmd_engine_set_language(mmd_engine * e, short language) { + if (!e) + return; + e->language = language; switch (language) { @@ -1940,7 +1943,9 @@ token * mmd_engine_parse_substring(mmd_engine * e, size_t byte_start, size_t byt /// Parse the entire string into a token tree void mmd_engine_parse_string(mmd_engine * e) { - e->root = mmd_engine_parse_substring(e, 0, e->dstr->currentStringLength); + if (e) { + e->root = mmd_engine_parse_substring(e, 0, e->dstr->currentStringLength); + } } @@ -1980,7 +1985,10 @@ bool mmd_engine_has_metadata(mmd_engine * e, size_t * end) { // First line is not metadata, so can't have metadata // Saves the time of an unnecessary parse // TODO: Need faster confirmation of actual metadata than full tokenizing - *end = 0; + if (end) { + *end = 0; + } + return false; }