aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2005-07-03 21:56:16 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2005-07-03 21:56:16 +0000
commitbee9aef43bff5a913aad4a42db9b15c7a9108d55 (patch)
tree0457f5f42714146346ce9ad8f1a6fbf872b65c01 /src
parentae9a07bf9e34f48ddfc05e187b9a5dde963b3dee (diff)
downloadpostgresql-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.c10
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);