From 8b7b0387f1f4950ea557d73d86796bab3d25402a Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Tue, 6 Aug 2024 11:37:26 +0100 Subject: [PATCH] - fixed compilation problem on Windows in MMS journal client code --- src/mms/iso_mms/client/mms_client_journals.c | 42 ++++++++++---------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/src/mms/iso_mms/client/mms_client_journals.c b/src/mms/iso_mms/client/mms_client_journals.c index affbca57..e13509ef 100644 --- a/src/mms/iso_mms/client/mms_client_journals.c +++ b/src/mms/iso_mms/client/mms_client_journals.c @@ -115,35 +115,37 @@ parseJournalVariables(uint8_t* buffer, int bufPos, int maxLength, MmsJournalEntr switch (tag) { case 0x30: /* journalVariable */ - MmsJournalVariable journalVariable = (MmsJournalVariable) - GLOBAL_CALLOC(1, sizeof(struct sMmsJournalVariable)); - - if (journalVariable) { - if (parseJournalVariable(buffer, bufPos, length, journalVariable)) + MmsJournalVariable journalVariable = (MmsJournalVariable) + GLOBAL_CALLOC(1, sizeof(struct sMmsJournalVariable)); + + if (journalVariable) { - LinkedList_add(journalEntry->journalVariables, (void*) journalVariable); + if (parseJournalVariable(buffer, bufPos, length, journalVariable)) + { + LinkedList_add(journalEntry->journalVariables, (void*) journalVariable); + } + else + { + if (journalVariable->tag) + GLOBAL_FREEMEM(journalVariable->tag); + + if (journalVariable->value) + MmsValue_delete(journalVariable->value); + + GLOBAL_FREEMEM(journalVariable); + + return false; + } } else { - if (journalVariable->tag) - GLOBAL_FREEMEM(journalVariable->tag); - - if (journalVariable->value) - MmsValue_delete(journalVariable->value); - - GLOBAL_FREEMEM(journalVariable); + if (DEBUG_MMS_CLIENT) + printf("MMS_CLIENT: parseReadJournalResponse: out of memory\n"); return false; } } - else - { - if (DEBUG_MMS_CLIENT) - printf("MMS_CLIENT: parseReadJournalResponse: out of memory\n"); - - return false; - } break;