Memory leak in libxml2 (was Re: [PATCH] Add pretty-printed XML output option) - Mailing list pgsql-hackers

From Tom Lane
Subject Memory leak in libxml2 (was Re: [PATCH] Add pretty-printed XML output option)
Date
Msg-id 3627896.1678916317@sss.pgh.pa.us
Whole thread Raw
In response to Re: [PATCH] Add pretty-printed XML output option  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Memory leak in libxml2 (was Re: [PATCH] Add pretty-printed XML output option)  (Daniel Gustafsson <daniel@yesql.se>)
List pgsql-hackers
I wrote:
> BTW, the libxml leak problem seems to extend to other cases too.
> I tested with code like

> do $$
> declare x xml; t text;
> begin
> x := '<?xml version="1.0" encoding="utf8"?><foo><bar><val>73</val></bar></foo>';
> for i in 1..10000000 loop
>   t := xmlserialize(document x as text);
> end loop;
> raise notice 't = %', t;
> end;
> $$;

> That case is fine, but if you change the encoding spec to "latin1",
> it leaks like mad.  That problem is not the fault of this patch,
> I don't think.  I wonder if we need to do something to prevent
> libxml from seeing encoding declarations other than utf8?

After a bit of further testing: the leak is present in libxml2 2.9.7
which is what I have on this RHEL8 box, but it seems not to occur
in libxml2 2.10.3 (tested on Fedora 37, and I verified that Fedora
isn't carrying any relevant local patch).

So maybe it's worth working around that, or maybe it isn't.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: Add support for DEFAULT specification in COPY FROM
Next
From: Matthias van de Meent
Date:
Subject: Re: Speed-up shared buffers prewarming