diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2025-05-22 13:52:46 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2025-05-22 13:52:46 -0400 |
commit | f24605e2dc1687917766f43775f0dcde2cf678a0 (patch) | |
tree | 215d04b8affbc0c141d0828b5169c3a9dcd42ff6 /src/backend/port/dynloader/unixware.c | |
parent | 5d6eac80cdce7aa7c5f4ec74208ddc1feea9eef3 (diff) | |
download | postgresql-f24605e2dc1687917766f43775f0dcde2cf678a0.tar.gz postgresql-f24605e2dc1687917766f43775f0dcde2cf678a0.zip |
Fix memory leak in XMLSERIALIZE(... INDENT).
xmltotext_with_options sometimes tries to replace the existing
root node of a libxml2 document. In that case xmlDocSetRootElement
will unlink and return the old root node; if we fail to free it,
it's leaked for the remainder of the session. The amount of memory
at stake is not large, a couple hundred bytes per occurrence, but
that could still become annoying in heavy usage.
Our only other xmlDocSetRootElement call is not at risk because
it's working on a just-created document, but let's modify that
code too to make it clear that it's dependent on that.
Author: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Jim Jones <jim.jones@uni-muenster.de>
Discussion: https://postgr.es/m/1358967.1747858817@sss.pgh.pa.us
Backpatch-through: 16
Diffstat (limited to 'src/backend/port/dynloader/unixware.c')
0 files changed, 0 insertions, 0 deletions