[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH] sheepdog: Fix sd_co_create_opts() memory leaks
From: |
Jeff Cody |
Subject: |
Re: [Qemu-block] [PATCH] sheepdog: Fix sd_co_create_opts() memory leaks |
Date: |
Thu, 3 May 2018 12:54:10 -0400 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Thu, May 03, 2018 at 05:35:09PM +0200, Kevin Wolf wrote:
> Both the option string for the 'redundancy' option and the
> SheepdogRedundancy object that is created accordingly could be leaked in
> error paths. This fixes the memory leaks.
>
> Reported by Coverity (CID 1390614 and 1390641).
>
> Signed-off-by: Kevin Wolf <address@hidden>
> ---
> block/sheepdog.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/block/sheepdog.c b/block/sheepdog.c
> index a2f26efc0e..6ec647e558 100644
> --- a/block/sheepdog.c
> +++ b/block/sheepdog.c
> @@ -1987,6 +1987,7 @@ static SheepdogRedundancy *parse_redundancy_str(const
> char *opt)
> } else {
> ret = qemu_strtol(n2, NULL, 10, &parity);
> if (ret < 0) {
> + g_free(redundancy);
> return NULL;
> }
>
> @@ -2183,7 +2184,7 @@ static int coroutine_fn sd_co_create_opts(const char
> *filename, QemuOpts *opts,
> QDict *qdict, *location_qdict;
> QObject *crumpled;
> Visitor *v;
> - const char *redundancy;
> + char *redundancy;
> Error *local_err = NULL;
> int ret;
>
> @@ -2253,6 +2254,7 @@ static int coroutine_fn sd_co_create_opts(const char
> *filename, QemuOpts *opts,
> fail:
> qapi_free_BlockdevCreateOptions(create_options);
> QDECREF(qdict);
> + g_free(redundancy);
> return ret;
> }
>
> --
> 2.13.6
>
>
Thanks,
Reviewed & applied to my block branch:
git://github.com/codyprime/qemu-kvm-jtc block
-Jeff