qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] Trivial portability fix: missing va_end()
@ 2011-10-28  8:52 Markus Armbruster
  2011-10-28  8:52 ` [Qemu-devel] [PATCH 1/2] sysbus: Supply " Markus Armbruster
  2011-10-28  8:52 ` [Qemu-devel] [PATCH 2/2] hw/9pfs: " Markus Armbruster
  0 siblings, 2 replies; 5+ messages in thread
From: Markus Armbruster @ 2011-10-28  8:52 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-trivial, jvrao

Markus Armbruster (2):
  sysbus: Supply missing va_end()
  hw/9pfs: Supply missing va_end()

 hw/9pfs/virtio-9p.c |    4 ++++
 hw/sysbus.c         |    2 ++
 2 files changed, 6 insertions(+), 0 deletions(-)

-- 
1.7.6.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH 1/2] sysbus: Supply missing va_end()
  2011-10-28  8:52 [Qemu-devel] [PATCH 0/2] Trivial portability fix: missing va_end() Markus Armbruster
@ 2011-10-28  8:52 ` Markus Armbruster
  2011-10-31 11:52   ` Stefan Hajnoczi
  2011-10-28  8:52 ` [Qemu-devel] [PATCH 2/2] hw/9pfs: " Markus Armbruster
  1 sibling, 1 reply; 5+ messages in thread
From: Markus Armbruster @ 2011-10-28  8:52 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-trivial, jvrao

C99 7.15.1: Each invocation of the va_start and va_copy macros shall
be matched by a corresponding invocation of the va_end macro in the
same function.

Spotted by Coverity.  Harmless on the (common) systems where va_end()
does nothing.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/sysbus.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/hw/sysbus.c b/hw/sysbus.c
index 4fab5a4..fd2fc6a 100644
--- a/hw/sysbus.c
+++ b/hw/sysbus.c
@@ -198,6 +198,7 @@ DeviceState *sysbus_create_varargs(const char *name,
         sysbus_connect_irq(s, n, irq);
         n++;
     }
+    va_end(va);
     return dev;
 }
 
@@ -229,6 +230,7 @@ DeviceState *sysbus_try_create_varargs(const char *name,
         sysbus_connect_irq(s, n, irq);
         n++;
     }
+    va_end(va);
     return dev;
 }
 
-- 
1.7.6.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH 2/2] hw/9pfs: Supply missing va_end()
  2011-10-28  8:52 [Qemu-devel] [PATCH 0/2] Trivial portability fix: missing va_end() Markus Armbruster
  2011-10-28  8:52 ` [Qemu-devel] [PATCH 1/2] sysbus: Supply " Markus Armbruster
@ 2011-10-28  8:52 ` Markus Armbruster
  2011-10-31 11:51   ` [Qemu-devel] [Qemu-trivial] " Stefan Hajnoczi
  1 sibling, 1 reply; 5+ messages in thread
From: Markus Armbruster @ 2011-10-28  8:52 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-trivial, jvrao

C99 7.15.1: Each invocation of the va_start and va_copy macros shall
be matched by a corresponding invocation of the va_end macro in the
same function.

Spotted by Coverity.  Harmless on the (common) systems where va_end()
does nothing.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/9pfs/virtio-9p.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/hw/9pfs/virtio-9p.c b/hw/9pfs/virtio-9p.c
index aab3beb..1e22696 100644
--- a/hw/9pfs/virtio-9p.c
+++ b/hw/9pfs/virtio-9p.c
@@ -231,6 +231,7 @@ v9fs_string_alloc_printf(char **strp, const char *fmt, va_list ap)
                 arg_ulong = va_arg(ap2, unsigned long);
                 len += number_to_string((void *)&arg_ulong, 'U');
             } else {
+                va_end(ap2);
                 return -1;
             }
             break;
@@ -244,11 +245,14 @@ v9fs_string_alloc_printf(char **strp, const char *fmt, va_list ap)
         default:
             fprintf(stderr,
 		    "v9fs_string_alloc_printf:Incorrect format %c", *iter);
+            va_end(ap2);
             return -1;
         }
         iter++;
     }
 
+    va_end(ap2);
+
 alloc_print:
     *strp = g_malloc((len + 1) * sizeof(**strp));
 
-- 
1.7.6.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [Qemu-trivial] [PATCH 2/2] hw/9pfs: Supply missing va_end()
  2011-10-28  8:52 ` [Qemu-devel] [PATCH 2/2] hw/9pfs: " Markus Armbruster
@ 2011-10-31 11:51   ` Stefan Hajnoczi
  0 siblings, 0 replies; 5+ messages in thread
From: Stefan Hajnoczi @ 2011-10-31 11:51 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: qemu-trivial, jvrao, qemu-devel

On Fri, Oct 28, 2011 at 9:52 AM, Markus Armbruster <armbru@redhat.com> wrote:
> C99 7.15.1: Each invocation of the va_start and va_copy macros shall
> be matched by a corresponding invocation of the va_end macro in the
> same function.
>
> Spotted by Coverity.  Harmless on the (common) systems where va_end()
> does nothing.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  hw/9pfs/virtio-9p.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)

Thanks for this patch.  I looked at the surrounding code and it turns
out this entire function duplicates g_vasprintf() from glib.

I sent a patch to use g_vasprintf() and it therefore eliminates the
varargs issue.

Stefan

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] sysbus: Supply missing va_end()
  2011-10-28  8:52 ` [Qemu-devel] [PATCH 1/2] sysbus: Supply " Markus Armbruster
@ 2011-10-31 11:52   ` Stefan Hajnoczi
  0 siblings, 0 replies; 5+ messages in thread
From: Stefan Hajnoczi @ 2011-10-31 11:52 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: qemu-trivial, jvrao, qemu-devel

On Fri, Oct 28, 2011 at 10:52:25AM +0200, Markus Armbruster wrote:
> C99 7.15.1: Each invocation of the va_start and va_copy macros shall
> be matched by a corresponding invocation of the va_end macro in the
> same function.
> 
> Spotted by Coverity.  Harmless on the (common) systems where va_end()
> does nothing.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  hw/sysbus.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)

Thanks, applied to the trivial patches -next tree:
http://repo.or.cz/w/qemu/stefanha.git/shortlog/refs/heads/trivial-patches-next

Stefan

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-10-31 11:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-28  8:52 [Qemu-devel] [PATCH 0/2] Trivial portability fix: missing va_end() Markus Armbruster
2011-10-28  8:52 ` [Qemu-devel] [PATCH 1/2] sysbus: Supply " Markus Armbruster
2011-10-31 11:52   ` Stefan Hajnoczi
2011-10-28  8:52 ` [Qemu-devel] [PATCH 2/2] hw/9pfs: " Markus Armbruster
2011-10-31 11:51   ` [Qemu-devel] [Qemu-trivial] " Stefan Hajnoczi

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).