[Libguestfs] [PATCH] generator.ml: Fix string list memory leak

Richard W.M. Jones rjones at redhat.com
Fri Sep 11 14:52:04 UTC 2009


On Fri, Sep 11, 2009 at 02:31:44PM +0100, Matthew Booth wrote:
> Parsed string lists are allocated by malloc, but were never freed.
> ---
>  src/generator.ml |   11 ++++++++++-
>  1 files changed, 10 insertions(+), 1 deletions(-)
> 
> diff --git a/src/generator.ml b/src/generator.ml
> index 7571f95..439c9c4 100755
> --- a/src/generator.ml
> +++ b/src/generator.ml
> @@ -6320,7 +6320,7 @@ and generate_fish_cmds () =
>          | OptString n
>          | FileIn n
>          | FileOut n -> pr "  const char *%s;\n" n
> -        | StringList n | DeviceList n -> pr "  char *const *%s;\n" n
> +        | StringList n | DeviceList n -> pr "  char **%s;\n" n
>          | Bool n -> pr "  int %s;\n" n
>          | Int n -> pr "  int %s;\n" n
>        ) (snd style);
> @@ -6364,6 +6364,15 @@ and generate_fish_cmds () =
>        generate_c_call_args ~handle:"g" style;
>        pr ";\n";
>  
> +      List.iter (
> +        function
> +        | Pathname name | Device name | Dev_or_Path name | String name
> +        | OptString name | FileIn name | FileOut name | Bool name
> +        | Int name -> ()
> +        | StringList name | DeviceList name ->
> +            pr "  free_strings (%s);\n" name
> +      ) (snd style);
> +
>        (* Check return value for errors and display command results. *)
>        (match fst style with
>         | RErr -> pr "  return r;\n"
> -- 
> 1.6.2.5

Looks good to me - ACK.

Rich.

-- 
Richard Jones, Emerging Technologies, Red Hat  http://et.redhat.com/~rjones
New in Fedora 11: Fedora Windows cross-compiler. Compile Windows
programs, test, and build Windows installers. Over 70 libraries supprt'd
http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw




More information about the Libguestfs mailing list