}
buf = xmlBufferCreate();
- outBuf = xmlOutputBufferCreateBuffer(buf, NULL);
- if (!outBuf || !buf) {
+ if (!buf) {
php_error_docref(NULL, E_WARNING, "Could not fetch buffer");
RETURN_FALSE;
}
+ outBuf = xmlOutputBufferCreateBuffer(buf, NULL);
+ if (!outBuf) {
+ xmlBufferFree(buf);
+ php_error_docref(NULL, E_WARNING, "Could not fetch output buffer");
+ RETURN_FALSE;
+ }
if (node->type == XML_DOCUMENT_FRAG_NODE) {
for (node = node->children; node; node = node->next) {
RETVAL_FALSE;
}
xmlOutputBufferClose(outBuf);
+ xmlBufferFree(buf);
} else {
int size = 0;
#if LIBXML_VERSION >= 20623