[Libguestfs] [PATCH] mdadm: fix a possible memory leak when error

Richard W.M. Jones rjones at redhat.com
Mon Dec 5 08:59:41 UTC 2011


On Mon, Dec 05, 2011 at 02:30:35PM +0800, Wanlong Gao wrote:
> When add_string() error, it returned without free the *ret*.
> 
> Signed-off-by: Wanlong Gao <gaowanlong at cn.fujitsu.com>
> ---
>  daemon/md.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/daemon/md.c b/daemon/md.c
> index 5a4d815..8d28878 100644
> --- a/daemon/md.c
> +++ b/daemon/md.c
> @@ -294,12 +294,12 @@ do_md_detail(const char *md)
>      }
>    }
>  
> +  if (add_string(&ret, &size, &alloc, NULL) == -1) goto error;
> +
>    free(out);
>    free(err);
>    free(lines); /* We freed the contained strings when we freed out */
>  
> -  if (add_string(&ret, &size, &alloc, NULL) == -1) return NULL;
> -
>    return ret;

I'm not sure there's a problem.  'add_string' frees the strings and
sets ret = NULL on error, so either way of doing this seems safe ...

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.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