diff options
author | Florian Ragwitz <rafl@debian.org> | 2010-11-13 14:53:57 +0100 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2010-11-13 08:55:41 -0600 |
commit | 93c3641704fd13c31076e8dc090405d5783100d4 (patch) | |
tree | 4c84a358b16d90cc33593158052358f929b5887f /Stash.xs | |
parent | 63bb451509a2171d4e90f78088ce4b2b23da5ee1 (diff) | |
download | package-stash-xs-93c3641704fd13c31076e8dc090405d5783100d4.tar.gz package-stash-xs-93c3641704fd13c31076e8dc090405d5783100d4.zip |
Be explicit about refcounts, thereby fixing one leak
Diffstat (limited to 'Stash.xs')
-rw-r--r-- | Stash.xs | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -278,9 +278,9 @@ new(class, package_name) hv_store(instance, "name", 4, package_name, 0); namespace = gv_stashpv(SvPV_nolen(package_name), GV_ADD); - hv_store(instance, "namespace", 9, newRV((SV*)namespace), 0); + hv_store(instance, "namespace", 9, newRV_noinc((SV*)namespace), 0); - RETVAL = sv_bless(newRV((SV*)instance), gv_stashpv(class, 0)); + RETVAL = sv_bless(newRV_inc((SV*)instance), gv_stashpv(class, 0)); OUTPUT: RETVAL @@ -462,7 +462,7 @@ get_package_symbol(self, variable) val = _get_package_symbol(self, &variable, 0); if (!val) XSRETURN_UNDEF; - RETVAL = newRV(val); + RETVAL = newRV_inc(val); OUTPUT: RETVAL @@ -476,7 +476,7 @@ get_or_add_package_symbol(self, variable) val = _get_package_symbol(self, &variable, 1); if (!val) XSRETURN_UNDEF; - RETVAL = newRV(val); + RETVAL = newRV_inc(val); OUTPUT: RETVAL |