diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2014-11-27 11:12:55 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2014-11-27 11:12:55 -0500 |
commit | a1cd04cd0dd6e025d832b1562fe8be3bbbbb2d96 (patch) | |
tree | c08f4003903d97c36821bbf8d853641e2b7d4b42 /src/backend/utils/adt/numeric.c | |
parent | 9b468bcec15f1ea7433d4068102aa030d689346d (diff) |
Free libxml2/libxslt resources in a safer order.
Mark Simonetti reported that libxslt sometimes crashes for him, and that
swapping xslt_process's object-freeing calls around to do them in reverse
order of creation seemed to fix it. I've not reproduced the crash, but
valgrind clearly shows a reference to already-freed memory, which is
consistent with the idea that shutdown of the xsltTransformContext is
trying to reference the already-freed stylesheet or input document.
With this patch, valgrind is no longer unhappy.
I have an inquiry in to see if this is a libxslt bug or if we're just
abusing the library; but even if it's a library bug, we'd want to adjust
our code so it doesn't fail with unpatched libraries.
Back-patch to all supported branches, because we've been doing this in
the wrong(?) order for a long time.
Diffstat (limited to 'src/backend/utils/adt/numeric.c')
0 files changed, 0 insertions, 0 deletions