diff mbox

vhost: fix a memory leak

Message ID 1499207612-3560-1-git-send-email-peng.hao2@zte.com.cn (mailing list archive)
State New, archived
Headers show

Commit Message

Peng Hao July 4, 2017, 10:33 p.m. UTC
vhost exists a call for g_file_get_contents, but not call g_free.

Signed-off-by: Peng Hao<peng.hao2@zte.com.cn>
---
 hw/virtio/vhost-backend.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Marc-André Lureau July 4, 2017, 2:21 p.m. UTC | #1
Hi

On Tue, Jul 4, 2017 at 4:16 PM Peng Hao <peng.hao2@zte.com.cn> wrote:

> vhost exists a call for g_file_get_contents, but not call g_free.
>
> Signed-off-by: Peng Hao<peng.hao2@zte.com.cn>
>

 Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

---
>  hw/virtio/vhost-backend.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/hw/virtio/vhost-backend.c b/hw/virtio/vhost-backend.c
> index 4e31de1..2c481d6 100644
> --- a/hw/virtio/vhost-backend.c
> +++ b/hw/virtio/vhost-backend.c
> @@ -52,11 +52,13 @@ static int vhost_kernel_memslots_limit(struct
> vhost_dev *dev)
>                              &s, NULL, NULL)) {
>          uint64_t val = g_ascii_strtoull(s, NULL, 10);
>          if (!((val == G_MAXUINT64 || !val) && errno)) {
> +            g_free(s);
>              return val;
>          }
>          error_report("ignoring invalid max_mem_regions value in vhost
> module:"
>                       " %s", s);
>      }
> +    g_free(s);
>      return limit;
>  }
>
> --
> 1.8.3.1
>
>
>
> --
Marc-André Lureau
Michael S. Tsirkin July 4, 2017, 9:32 p.m. UTC | #2
On Tue, Jul 04, 2017 at 02:21:08PM +0000, Marc-André Lureau wrote:
> Hi
> 
> On Tue, Jul 4, 2017 at 4:16 PM Peng Hao <peng.hao2@zte.com.cn> wrote:
> 
>     vhost exists a call for g_file_get_contents, but not call g_free.
> 
>     Signed-off-by: Peng Hao<peng.hao2@zte.com.cn>
> 
> 
>  Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> 
>     ---
>      hw/virtio/vhost-backend.c | 2 ++
>      1 file changed, 2 insertions(+)
> 
>     diff --git a/hw/virtio/vhost-backend.c b/hw/virtio/vhost-backend.c
>     index 4e31de1..2c481d6 100644
>     --- a/hw/virtio/vhost-backend.c
>     +++ b/hw/virtio/vhost-backend.c
>     @@ -52,11 +52,13 @@ static int vhost_kernel_memslots_limit(struct vhost_dev
>     *dev)
>                                  &s, NULL, NULL)) {
>              uint64_t val = g_ascii_strtoull(s, NULL, 10);
>              if (!((val == G_MAXUINT64 || !val) && errno)) {
>     +            g_free(s);
>                  return val;
>              }
>              error_report("ignoring invalid max_mem_regions value in vhost
>     module:"
>                           " %s", s);
>          }
>     +    g_free(s);
>          return limit;
>      }
> 
>     --
>     1.8.3.1
> 

Thanks for the review.
I'd like to include your tag in commit log.
For that, could you please repost your ack in text format using
some other mail client?
My scripts don't handle the way your mail client scrambles text.

> 
> 
> --
> Marc-André Lureau
Marc-André Lureau July 4, 2017, 9:59 p.m. UTC | #3
Hi

On Wed, Jul 5, 2017 at 12:33 AM, Peng Hao <peng.hao2@zte.com.cn> wrote:
> vhost exists a call for g_file_get_contents, but not call g_free.
>
> Signed-off-by: Peng Hao<peng.hao2@zte.com.cn>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

mst: is this better?

> ---
>  hw/virtio/vhost-backend.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/hw/virtio/vhost-backend.c b/hw/virtio/vhost-backend.c
> index 4e31de1..2c481d6 100644
> --- a/hw/virtio/vhost-backend.c
> +++ b/hw/virtio/vhost-backend.c
> @@ -52,11 +52,13 @@ static int vhost_kernel_memslots_limit(struct vhost_dev *dev)
>                              &s, NULL, NULL)) {
>          uint64_t val = g_ascii_strtoull(s, NULL, 10);
>          if (!((val == G_MAXUINT64 || !val) && errno)) {
> +            g_free(s);
>              return val;
>          }
>          error_report("ignoring invalid max_mem_regions value in vhost module:"
>                       " %s", s);
>      }
> +    g_free(s);
>      return limit;
>  }
>
> --
> 1.8.3.1
>
>
>
Michael S. Tsirkin July 4, 2017, 10:10 p.m. UTC | #4
On Tue, Jul 04, 2017 at 11:59:54PM +0200, Marc-André Lureau wrote:
> Hi
> 
> On Wed, Jul 5, 2017 at 12:33 AM, Peng Hao <peng.hao2@zte.com.cn> wrote:
> > vhost exists a call for g_file_get_contents, but not call g_free.
> >
> > Signed-off-by: Peng Hao<peng.hao2@zte.com.cn>
> 
> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> mst: is this better?

That's fine, thanks!

> > ---
> >  hw/virtio/vhost-backend.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/hw/virtio/vhost-backend.c b/hw/virtio/vhost-backend.c
> > index 4e31de1..2c481d6 100644
> > --- a/hw/virtio/vhost-backend.c
> > +++ b/hw/virtio/vhost-backend.c
> > @@ -52,11 +52,13 @@ static int vhost_kernel_memslots_limit(struct vhost_dev *dev)
> >                              &s, NULL, NULL)) {
> >          uint64_t val = g_ascii_strtoull(s, NULL, 10);
> >          if (!((val == G_MAXUINT64 || !val) && errno)) {
> > +            g_free(s);
> >              return val;
> >          }
> >          error_report("ignoring invalid max_mem_regions value in vhost module:"
> >                       " %s", s);
> >      }
> > +    g_free(s);
> >      return limit;
> >  }
> >
> > --
> > 1.8.3.1
> >
> >
> >
> 
> 
> 
> -- 
> Marc-André Lureau
diff mbox

Patch

diff --git a/hw/virtio/vhost-backend.c b/hw/virtio/vhost-backend.c
index 4e31de1..2c481d6 100644
--- a/hw/virtio/vhost-backend.c
+++ b/hw/virtio/vhost-backend.c
@@ -52,11 +52,13 @@  static int vhost_kernel_memslots_limit(struct vhost_dev *dev)
                             &s, NULL, NULL)) {
         uint64_t val = g_ascii_strtoull(s, NULL, 10);
         if (!((val == G_MAXUINT64 || !val) && errno)) {
+            g_free(s);
             return val;
         }
         error_report("ignoring invalid max_mem_regions value in vhost module:"
                      " %s", s);
     }
+    g_free(s);
     return limit;
 }