Alvaro Herrera escribió:
> Tom Lane escribió:
> 
> > We might be able to compromise by only resetting the context after
> > an error, but this is still only possible if we have a way to make
> > libxml let go of *all* pointers to alloc'd objects.  I don't understand
> > your comment that xmlCleanupParser solves it --- we call that already,
> > and it doesn't seem to be preventing the problem.
> 
> With the attached patch, it doesn't crash, but I see the added WARNING
> four times in the log, which is proof that the cleanup thing is not
> called as the code seems to think.

Update: it does crash for another of the test cases by Sokolov, if
executed more than once.  Reason: it calls xml_init after
xmlCleanupParser has been called, so the memory context is created
again, only to be reset later.  The culprit seems to be
xml_out_internal.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to