[Libguestfs] [PATCH] perl: fix memory leak in RStruct actions

Richard W.M. Jones rjones at redhat.com
Mon Dec 12 19:32:51 UTC 2016


On Mon, Dec 12, 2016 at 02:03:23PM +0100, Pino Toscano wrote:
> The return value struct was freed using a simple free() instead of the
> own cleanup function of each struct: this meant dynamically allocated
> values (such as strings) were leaked.
> 
> Use the proper cleanup functions instead.
> ---
>  generator/perl.ml | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/generator/perl.ml b/generator/perl.ml
> index 290b687..4c7f805 100644
> --- a/generator/perl.ml
> +++ b/generator/perl.ml
> @@ -657,7 +657,7 @@ and generate_perl_struct_code typ cols name style n =
>            pr "      PUSHs (sv_2mortal (newSVnv (r->%s)));\n"
>              name
>    ) cols;
> -  pr "      free (r);\n"
> +  pr "      guestfs_free_%s (r);\n" typ
>  
>  (* Generate Sys/Guestfs.pm. *)
>  and generate_perl_pm () =
> -- 

ACK both.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org




More information about the Libguestfs mailing list