qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Michael Tokarev <mjt@tls.msk.ru>
To: arei.gonglei@huawei.com, qemu-devel@nongnu.org
Cc: qemu-trivial@nongnu.org, pbonzini@redhat.com,
	peter.huangpeng@huawei.com, armbru@redhat.com
Subject: Re: [Qemu-devel] [PATCH 6/9] 9pfs: fix memory leak
Date: Sat, 28 Feb 2015 12:46:22 +0300	[thread overview]
Message-ID: <54F18E6E.2040703@msgid.tls.msk.ru> (raw)
In-Reply-To: <1425023419-12244-7-git-send-email-arei.gonglei@huawei.com>

27.02.2015 10:50, arei.gonglei@huawei.com wrote:
> From: Gonglei <arei.gonglei@huawei.com>
> 
> Signed-off-by: Gonglei <arei.gonglei@huawei.com>
> ---
>  hw/9pfs/virtio-9p-local.c | 10 ++--------
>  1 file changed, 2 insertions(+), 8 deletions(-)
> 
> diff --git a/hw/9pfs/virtio-9p-local.c b/hw/9pfs/virtio-9p-local.c
> index a183eee..bcad4e0 100644
> --- a/hw/9pfs/virtio-9p-local.c
> +++ b/hw/9pfs/virtio-9p-local.c
> @@ -500,7 +500,6 @@ static int local_mknod(FsContext *fs_ctx, V9fsPath *dir_path,
>          buffer = rpath(fs_ctx, path);
>          err = mknod(buffer, SM_LOCAL_MODE_BITS|S_IFREG, 0);
>          if (err == -1) {
> -            g_free(buffer);
>              goto out;
>          }
>          err = local_set_xattr(buffer, credp);
> @@ -513,7 +512,6 @@ static int local_mknod(FsContext *fs_ctx, V9fsPath *dir_path,
>          buffer = rpath(fs_ctx, path);
>          err = mknod(buffer, SM_LOCAL_MODE_BITS|S_IFREG, 0);
>          if (err == -1) {
> -            g_free(buffer);
>              goto out;
>          }
>          err = local_set_mapped_file_attr(fs_ctx, path, credp);
> @@ -526,7 +524,6 @@ static int local_mknod(FsContext *fs_ctx, V9fsPath *dir_path,
>          buffer = rpath(fs_ctx, path);
>          err = mknod(buffer, credp->fc_mode, credp->fc_rdev);
>          if (err == -1) {
> -            g_free(buffer);
>              goto out;
>          }
...

I wonder if we should change this code to drop repeated code blocks which changes
only slightly by mknod parameters...

>          err = local_post_create_passthrough(fs_ctx, path, credp);
> @@ -540,8 +537,8 @@ static int local_mknod(FsContext *fs_ctx, V9fsPath *dir_path,
>  err_end:
>      remove(buffer);
>      errno = serrno;
> -    g_free(buffer);
>  out:
> +    g_free(buffer);
>      v9fs_string_free(&fullname);
>      return err;
>  }

..and this goto jumping (here and in a few other places) is q bit disgusting too... ;)

But this is the original code, the patch is still correct.

Thanks,

/mjt

  reply	other threads:[~2015-02-28  9:46 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-27  7:50 [Qemu-devel] [PATCH 0/9] Coverity defects fixes arei.gonglei
2015-02-27  7:50 ` [Qemu-devel] [PATCH 1/9] nbd: fix resource leak arei.gonglei
2015-02-27  7:50 ` [Qemu-devel] [PATCH 2/9] arm: fix memory leak arei.gonglei
2015-02-28  9:52   ` Michael Tokarev
2015-02-28  9:59     ` Gonglei
2015-02-28 10:18       ` [Qemu-devel] [Qemu-trivial] " Michael Tokarev
2015-02-28 10:21         ` Gonglei
2015-03-04 13:16   ` Michael Tokarev
2015-03-05  2:26     ` Gonglei
2015-03-05  8:47       ` Markus Armbruster
2015-03-05  9:43         ` Gonglei
2015-02-27  7:50 ` [Qemu-devel] [PATCH 3/9] sparc/leon3.c: " arei.gonglei
2015-02-27  7:50 ` [Qemu-devel] [PATCH 4/9] macio: fix possible " arei.gonglei
2015-02-27  7:50 ` [Qemu-devel] [PATCH 5/9] e500: fix " arei.gonglei
2015-02-28  9:41   ` Michael Tokarev
2015-02-28  9:57     ` Gonglei
2015-02-27  7:50 ` [Qemu-devel] [PATCH 6/9] 9pfs: " arei.gonglei
2015-02-28  9:46   ` Michael Tokarev [this message]
2015-03-04 12:30   ` [Qemu-devel] [Qemu-trivial] " Michael Tokarev
2015-02-27  7:50 ` [Qemu-devel] [PATCH 7/9] milkymist.c: " arei.gonglei
2015-02-27  7:50 ` [Qemu-devel] [PATCH 8/9] sysbus: " arei.gonglei
2015-02-27  7:50 ` [Qemu-devel] [PATCH 9/9] microblaze: " arei.gonglei
2015-02-28  9:54 ` [Qemu-devel] [PATCH 0/9] Coverity defects fixes Michael Tokarev
2015-02-28 10:03   ` Gonglei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54F18E6E.2040703@msgid.tls.msk.ru \
    --to=mjt@tls.msk.ru \
    --cc=arei.gonglei@huawei.com \
    --cc=armbru@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.huangpeng@huawei.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).