Fix memory leak in XMLSERIALIZE(... INDENT).
Tom Lane <tgl@sss.pgh.pa.us>
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
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/adt/xml.c | modified | +17 −4 |
Discussion
- [PATCH] Add pretty-printed XML output option 72 messages · 2023-02-02 → 2025-05-22