Hey Aaron,
Looks like the xmlOutputBufferPtr never gets freed.
Yup, exactly right. I posted a fix to trunk and sent another email to the list, but somehow it never made it through.
Index: ext/libxml/ruby_xml_node.c =================================================================== --- ext/libxml/ruby_xml_node.c (revision 693) +++ ext/libxml/ruby_xml_node.c (working copy) @@ -570,10 +570,16 @@ xmlNodeDumpOutput(output, xnode->doc, xnode, level, indent, encoding); xmlOutputBufferFlush(output); + VALUE string = Qnil; + if (output->conv) - return rb_str_new2((const char*) output->conv->content); + string = rb_str_new2((const char*) output->conv->content); else - return rb_str_new2((const char*) output->buffer->content); + string = rb_str_new2((const char*) output->buffer->content); + + xmlOutputBufferClose(output); + + return string; }
Yup, trunk updated to do exactly this. Thanks for the patch. Charlie
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ libxml-devel mailing list libxml-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/libxml-devel