xmlXPathFreeContext api падает несколько раз - PullRequest
1 голос
/ 12 мая 2019

У меня есть кусок кода, который иногда прекрасно работает, и несколько раз он падает. происходит сбой в XML-интерфейсе API xmlXPathFreeContext.

Не эксперт в XML, поэтому не знаю, как это отладить.

xmlXPathObjectPtr SIQXmlParser::getnodeset (xmlDocPtr doc, xmlChar *xpath)
{

    xmlXPathContextPtr context;
    xmlXPathObjectPtr result;

    context = xmlXPathNewContext(doc);
    if (context == NULL) {
        printf("Error in xmlXPathNewContext\n");
        return NULL;
    }
    result = xmlXPathEvalExpression(xpath, context);
    xmlXPathFreeContext(context);
    if (result == NULL) {
        printf("Error in xmlXPathEvalExpression\n");
        return NULL;
    }
    if(xmlXPathNodeSetIsEmpty(result->nodesetval)){
        xmlXPathFreeObject(result);
                printf("No result\n");
        return NULL;
    }
    return result;
}
...