Fix memory leak in plperl_hash_from_tuple(), per report from Jean-Max Reymond.
authorTom Lane <[email protected]>
Sun, 3 Jul 2005 21:56:27 +0000 (21:56 +0000)
committerTom Lane <[email protected]>
Sun, 3 Jul 2005 21:56:27 +0000 (21:56 +0000)
src/pl/plperl/plperl.c

index b1144e4dd3e10daa6a099701b9202c5ffe38a8d0..40eed6adad1269567cb91d6c2f858fae3dffe6c7 100644 (file)
@@ -224,7 +224,7 @@ plperl_safe_init(void)
        "$PLContainer->permit_only(':default');"
        "$PLContainer->permit(qw[:base_math !:base_io sort time]);"
        "$PLContainer->share(qw[&elog &spi_exec_query &DEBUG &LOG "
-    "&INFO &NOTICE &WARNING &ERROR %SHARED ]);"
+    "&INFO &NOTICE &WARNING &ERROR %_SHARED ]);"
        "sub ::mksafefunc { return $PLContainer->reval(qq[sub { $_[0] $_[1]}]); }"
                           ;
 
@@ -1419,6 +1419,8 @@ plperl_hash_from_tuple(HeapTuple tuple, TupleDesc tupdesc)
                                                   Int32GetDatum(tupdesc->attrs[i]->atttypmod)));
 
                hv_store(hv, attname, namelen, newSVpv(outputstr, 0), 0);
+
+               pfree(outputstr);
        }
 
        return newRV_noinc((SV *) hv);