diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-07-03 21:56:16 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-07-03 21:56:16 +0000 |
commit | bee9aef43bff5a913aad4a42db9b15c7a9108d55 (patch) | |
tree | 0457f5f42714146346ce9ad8f1a6fbf872b65c01 /src | |
parent | ae9a07bf9e34f48ddfc05e187b9a5dde963b3dee (diff) | |
download | postgresql-bee9aef43bff5a913aad4a42db9b15c7a9108d55.tar.gz postgresql-bee9aef43bff5a913aad4a42db9b15c7a9108d55.zip |
Fix memory leak in plperl_hash_from_tuple(), per report from Jean-Max Reymond.
Diffstat (limited to 'src')
-rw-r--r-- | src/pl/plperl/plperl.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c index 7d0e00effe1..eaee0f79722 100644 --- a/src/pl/plperl/plperl.c +++ b/src/pl/plperl/plperl.c @@ -33,7 +33,7 @@ * ENHANCEMENTS, OR MODIFICATIONS. * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.78 2005/06/22 16:45:51 tgl Exp $ + * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.79 2005/07/03 21:56:16 tgl Exp $ * **********************************************************************/ @@ -1327,14 +1327,16 @@ plperl_hash_from_tuple(HeapTuple tuple, TupleDesc tupdesc) getTypeOutputInfo(tupdesc->attrs[i]->atttypid, &typoutput, &typisvarlena); - outputstr = DatumGetCString(OidFunctionCall1(typoutput, - attr)); + outputstr = DatumGetCString(OidFunctionCall1(typoutput, attr)); sv = newSVpv(outputstr, 0); #if PERL_BCDVERSION >= 0x5006000L - if (GetDatabaseEncoding() == PG_UTF8) SvUTF8_on(sv); + if (GetDatabaseEncoding() == PG_UTF8) + SvUTF8_on(sv); #endif hv_store(hv, attname, namelen, sv, 0); + + pfree(outputstr); } return newRV_noinc((SV *) hv); |