[libvirt] [perl-Sys-Virt][PATCH] de-mortalize the return value from hv_delete
Daniel P. Berrange
berrange at redhat.com
Wed Feb 22 18:36:34 UTC 2012
On Thu, Feb 23, 2012 at 02:14:17AM +0800, Guannan Ren wrote:
> when calling block_stats() like $dom->block_stats(), it will reprot errors:
>
> Attempt to free unreferenced scalar: SV 0x2598498, Perl interpreter: 0x11a0010.
> Attempt to free unreferenced scalar: SV 0x258c498, Perl interpreter: 0x11a0010.
> This patch fix it.
> ---
> Virt.xs | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/Virt.xs b/Virt.xs
> index e5d8438..9ef9715 100644
> --- a/Virt.xs
> +++ b/Virt.xs
> @@ -3358,6 +3358,7 @@ block_stats(dom, path, flags=0)
> field = "flush_reqs";
> if (field) {
> SV *val = hv_delete(RETVAL, params[i].field, strlen(params[i].field), 0);
> + SvREFCNT_inc(val);
> (void)hv_store(RETVAL, field, strlen(field), val, 0);
> }
> }
ACK
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list