]> granicus.if.org Git - multimarkdown/commitdiff
FIXED: Fix null dereference error in CriticMarkup substitution
authorFletcher T. Penney <fletcher@fletcherpenney.net>
Tue, 14 Mar 2017 14:24:50 +0000 (10:24 -0400)
committerFletcher T. Penney <fletcher@fletcherpenney.net>
Tue, 14 Mar 2017 14:24:50 +0000 (10:24 -0400)
Sources/libMultiMarkdown/html.c
Sources/libMultiMarkdown/latex.c
Sources/libMultiMarkdown/odf.c

index c6bf025eddd7a45db5bb95de09f747733f1f6855..1e54f6ced98d014d51b2399cee825956df25b798 100644 (file)
@@ -1353,6 +1353,7 @@ void mmd_export_token_html(DString * out, const char * source, token * t, scratc
                        break;
                case PAIR_CRITIC_SUB_DEL:
                        if ((scratch->extensions & EXT_CRITIC) &&
+                               (t->next) &&
                                (t->next->type == PAIR_CRITIC_SUB_ADD)) {
                                t->child->type = TEXT_EMPTY;
                                t->child->mate->type = TEXT_EMPTY;
@@ -1371,6 +1372,7 @@ void mmd_export_token_html(DString * out, const char * source, token * t, scratc
                        break;
                case PAIR_CRITIC_SUB_ADD:
                        if ((scratch->extensions & EXT_CRITIC) &&
+                               (t->prev) &&
                                (t->prev->type == PAIR_CRITIC_SUB_DEL)) {
                                t->child->type = TEXT_EMPTY;
                                t->child->mate->type = TEXT_EMPTY;
index 617f06497d448740bb77e2351a95c08b51a6a87f..0a287b0b863a078a41d97488ea44ab57686ae881 100644 (file)
@@ -1345,6 +1345,7 @@ void mmd_export_token_latex(DString * out, const char * source, token * t, scrat
                        break;
                case PAIR_CRITIC_SUB_DEL:
                        if ((scratch->extensions & EXT_CRITIC) &&
+                               (t->next) &&
                                (t->next->type == PAIR_CRITIC_SUB_ADD)) {
                                t->child->type = TEXT_EMPTY;
                                t->child->mate->type = TEXT_EMPTY;
@@ -1363,6 +1364,7 @@ void mmd_export_token_latex(DString * out, const char * source, token * t, scrat
                        break;
                case PAIR_CRITIC_SUB_ADD:
                        if ((scratch->extensions & EXT_CRITIC) &&
+                               (t->prev) &&
                                (t->prev->type == PAIR_CRITIC_SUB_DEL)) {
                                t->child->type = TEXT_EMPTY;
                                t->child->mate->type = TEXT_EMPTY;
index a610d7feaa416ef41538311caa2776ac51d8bc76..25f4e586802c32e9accb1bdb87d0e209b9f53c5d 100644 (file)
@@ -1331,6 +1331,7 @@ void mmd_export_token_odf(DString * out, const char * source, token * t, scratch
                        break;
                case PAIR_CRITIC_SUB_DEL:
                        if ((scratch->extensions & EXT_CRITIC) &&
+                               (t->next) &&
                                (t->next->type == PAIR_CRITIC_SUB_ADD)) {
                                t->child->type = TEXT_EMPTY;
                                t->child->mate->type = TEXT_EMPTY;
@@ -1349,6 +1350,7 @@ void mmd_export_token_odf(DString * out, const char * source, token * t, scratch
                        break;
                case PAIR_CRITIC_SUB_ADD:
                        if ((scratch->extensions & EXT_CRITIC) &&
+                               (t->prev) &&
                                (t->prev->type == PAIR_CRITIC_SUB_DEL)) {
                                t->child->type = TEXT_EMPTY;
                                t->child->mate->type = TEXT_EMPTY;