]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
fix read cleanup memory
authorBastian Dehn <hhaalo@arcor.de>
Sun, 23 Jun 2024 08:18:52 +0000 (10:18 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 23 Jun 2024 08:18:52 +0000 (10:18 +0200)
src/feierabendxml.c

index 158acb47960d3e3017d1039d482769af2524c575..ca53c0a943017bb2cc1748cc8f100322d3b770fb 100644 (file)
@@ -281,18 +281,22 @@ void readLastSaldo(const char* file_path)
 
        if (xmlnode->nodesetval->nodeTab == NULL) {
                printf("ERROR: could not find an saldo\n");
+               xmlFreeDoc(xmldoc);
+               xmldoc = NULL;
                xmlCleanupParser();
+
                free(expr);
                expr = NULL;
                xmlXPathFreeObject(xmlnode);
                xmlnode = NULL;
                xmlXPathFreeContext(xmlcontext);
                xmlcontext = NULL;
-               xmlFreeDoc(xmldoc);
-               xmldoc = NULL;
                exit(EXIT_FAILURE);
        }
 
+       xmlFreeDoc(xmldoc);
+       xmldoc = NULL;
+
        xmlCleanupParser();
 
        free(expr);
@@ -301,8 +305,6 @@ void readLastSaldo(const char* file_path)
        xmlnode = NULL;
        xmlXPathFreeContext(xmlcontext);
        xmlcontext = NULL;
-       xmlFreeDoc(xmldoc);
-       xmldoc = NULL;
 }
 
 int main(int argc, char* argv[])