[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] block/rbd: fix memory leak
From: |
Gonglei |
Subject: |
Re: [Qemu-devel] [PATCH] block/rbd: fix memory leak |
Date: |
Thu, 11 Dec 2014 14:53:48 +0800 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20120327 Thunderbird/11.0.1 |
On 2014/12/4 14:34, Gonglei (Arei) wrote:
> From: Gonglei <address@hidden>
>
> Variable local_err going out of scope
> leaks the storage it points to.
>
> Cc: Markus Armbruster <address@hidden>
> Signed-off-by: Gonglei <address@hidden>
> ---
> block/rbd.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
Ping...
> diff --git a/block/rbd.c b/block/rbd.c
> index 5b5a64a..f3ab2dd 100644
> --- a/block/rbd.c
> +++ b/block/rbd.c
> @@ -459,7 +459,7 @@ static int qemu_rbd_open(BlockDriverState *bs, QDict
> *options, int flags,
> clientname = qemu_rbd_parse_clientname(conf, clientname_buf);
> r = rados_create(&s->cluster, clientname);
> if (r < 0) {
> - error_setg(&local_err, "error initializing");
> + error_setg(errp, "error initializing");
> goto failed_opts;
> }
>
> @@ -495,19 +495,19 @@ static int qemu_rbd_open(BlockDriverState *bs, QDict
> *options, int flags,
>
> r = rados_connect(s->cluster);
> if (r < 0) {
> - error_setg(&local_err, "error connecting");
> + error_setg(errp, "error connecting");
> goto failed_shutdown;
> }
>
> r = rados_ioctx_create(s->cluster, pool, &s->io_ctx);
> if (r < 0) {
> - error_setg(&local_err, "error opening pool %s", pool);
> + error_setg(errp, "error opening pool %s", pool);
> goto failed_shutdown;
> }
>
> r = rbd_open(s->io_ctx, s->name, &s->image, s->snap);
> if (r < 0) {
> - error_setg(&local_err, "error reading header from %s", s->name);
> + error_setg(errp, "error reading header from %s", s->name);
> goto failed_open;
> }
>