postgresql/contrib
Tom Lane c168ba3112 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.
2014-11-27 11:13:29 -05:00
..
adminpack
auth_delay
auto_explain
btree_gin
btree_gist
chkpass Fix volatility markings of some contrib I/O functions. 2014-11-05 11:34:11 -05:00
citext
cube
dblink Add infrastructure to save and restore GUC values. 2014-11-24 16:37:56 -05:00
dict_int
dict_xsyn
dummy_seclabel
earthdistance
file_fdw
fuzzystrmatch Move the guts of our Levenshtein implementation into core. 2014-11-13 12:33:26 -05:00
hstore Switch to CRC-32C in WAL and other places. 2014-11-04 11:39:48 +02:00
intagg
intarray
isn
lo
ltree Fix volatility markings of some contrib I/O functions. 2014-11-05 11:34:11 -05:00
oid2name
pageinspect Add pageinspect functions for inspecting GIN indexes. 2014-11-21 11:58:07 +02:00
passwordcheck
pg_archivecleanup
pg_buffercache
pg_freespacemap
pg_prewarm Add interrupt checks to contrib/pg_prewarm. 2014-11-12 18:52:49 +01:00
pg_standby
pg_stat_statements
pg_test_fsync Avoid file descriptor leak in pg_test_fsync. 2014-11-19 12:06:24 -05:00
pg_test_timing
pg_trgm Fix volatility markings of some contrib I/O functions. 2014-11-05 11:34:11 -05:00
pg_upgrade
pg_upgrade_support
pg_xlogdump Revamp the WAL record format. 2014-11-20 18:46:41 +02:00
pgbench
pgcrypto Loop when necessary in contrib/pgcrypto's pktreader_pull(). 2014-11-11 17:22:15 -05:00
pgrowlocks
pgstattuple
postgres_fdw Add infrastructure to save and restore GUC values. 2014-11-24 16:37:56 -05:00
seg
sepgsql
spi
sslinfo Make Port->ssl_in_use available, even when built with !USE_SSL 2014-11-25 09:46:11 +02:00
start-scripts
tablefunc
tcn
test_decoding Fix and improve cache invalidation logic for logical decoding. 2014-11-13 20:34:31 +01:00
test_parser
test_shm_mq
tsearch2
unaccent
uuid-ossp
vacuumlo
worker_spi
xml2 Free libxml2/libxslt resources in a safer order. 2014-11-27 11:13:29 -05:00
contrib-global.mk
Makefile
README

The PostgreSQL contrib tree
---------------------------

This subtree contains porting tools, analysis utilities, and plug-in
features that are not part of the core PostgreSQL system, mainly
because they address a limited audience or are too experimental to be
part of the main source tree.  This does not preclude their
usefulness.

User documentation for each module appears in the main SGML
documentation.

When building from the source distribution, these modules are not
built automatically, unless you build the "world" target.  You can
also build and install them all by running "make all" and "make
install" in this directory; or to build and install just one selected
module, do the same in that module's subdirectory.

Some directories supply new user-defined functions, operators, or
types.  To make use of one of these modules, after you have installed
the code you need to register the new SQL objects in the database
system by executing a CREATE EXTENSION command.  In a fresh database,
you can simply do

    CREATE EXTENSION module_name;

See the PostgreSQL documentation for more information about this
procedure.