xsltParseStylesheetFile segmentation fault

Mauricio Gonzalez <[email protected]> Mon, 5 Aug 2013 11:18:37 -0430
Newsgroups gmane.comp.gnome.lib.xslt
Message-ID <CAHcwDZan6aQ8HGZTd0v=e1oaS8-uLvt+ZS36+zzbK7YU=db-bQ@mail.gmail.com>
Hi,

I'm doing a program that is responsible for parsing large xml files, so I
need to do many function invocations xsltParseStylesheetFile using an
iterative cycle depending on the case because I use a particular xsl file to
generate another xml file.

Within the iterative cycle, when I invoke for the first time
xsltParseStylesheetFile function runs fine but after the second time he
throws the following error: 16526 Segmentation Fault (coredump).

Here I show a segment of the code I'm running:

while (true){

TransformXMLMassive(xxx,xxx,xxxx,xxx);

}

char *TransformXMLMassive(char *UrlXmlInput, char *UrlXslInput, const char
*Params[], char *UrlXmlOutput){

    FILE *FileOutput;
    xmlDocPtr doc, res;
    xmlLoadExtDtdDefaultValue = 1;
    xsltStylesheetPtr cur = NULL;

    xmlInitParser();
    xmlSubstituteEntitiesDefault(1);
    cur = xsltParseStylesheetFile((const xmlChar *)UrlXslInput);
    doc = xmlParseFile(UrlXmlInput);
    res = xsltApplyStylesheet(cur, doc, Params);

    if((FileOutput = fopen(UrlXmlOutput, "a+t")) == NULL) {
        xsltFreeStylesheet(cur);
        xmlFreeDoc(res);
        xmlFreeDoc(doc);
        xsltCleanupGlobals();
        xmlCleanupParser();
    }

    xsltSaveResultToFile(FileOutput, res, cur);

    fclose(FileOutput);
    xsltFreeStylesheet(cur);
    xmlFreeDoc(res);
    xmlFreeDoc(doc);
    xmlCleanupParser();
    xsltCleanupGlobals();
    xmlMemoryDump();

}


I would appreciate any help you can provide.


Regards,

_______________________________________________
xslt mailing list, project page http://xmlsoft.org/XSLT/
[email protected]
https://mail.gnome.org/mailman/listinfo/xslt