]> granicus.if.org Git - postgresql/commit
Eliminate memory leaks in plperl's spi_prepare() function.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 2 Mar 2013 02:33:38 +0000 (21:33 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 2 Mar 2013 02:34:27 +0000 (21:34 -0500)
commit0fe397fa49559f78d2cbffa6f2422d65d9e0e143
tree96e29c871a0f71434d4f58e5134337c2b14d0d83
parent3ae9d4db47a942f7330ce69f954c8a2b58177236
Eliminate memory leaks in plperl's spi_prepare() function.

Careless use of TopMemoryContext for I/O function data meant that repeated
use of spi_prepare and spi_freeplan would leak memory at the session level,
as per report from Christian Schröder.  In addition, spi_prepare
leaked a lot of transient data within the current plperl function's SPI
Proc context, which would be a problem for repeated use of spi_prepare
within a single plperl function call; and it wasn't terribly careful
about releasing permanent allocations in event of an error, either.

In passing, clean up some copy-and-pasteos in query-lookup error messages.

Alex Hunsaker and Tom Lane
src/pl/plperl/plperl.c