[xslt] xsltParseStylesheetFile segmentation fault



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,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]