[libvirt] [PATCH] virBufferVSprintf: do not omit va_end(argptr) call

Daniel Veillard veillard at redhat.com
Fri Feb 19 17:18:08 UTC 2010


On Fri, Feb 19, 2010 at 05:54:53PM +0100, Jim Meyering wrote:
> Just realized I didn't post a version of this without
> the gnulib diff that Eric pointed out, so here you go:
> 
> >From 4501145dd3529dc510e6cb52025a71dd0b111b4d Mon Sep 17 00:00:00 2001
> From: Jim Meyering <meyering at redhat.com>
> Date: Thu, 18 Feb 2010 21:25:01 +0100
> Subject: [PATCH] virBufferVSprintf: do not omit va_end(argptr) call
> 
> * src/util/buf.c (virBufferVSprintf): Do not omit va_end(argptr).
> Improved-by: Daniel Veillard.
> ---
>  src/util/buf.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/src/util/buf.c b/src/util/buf.c
> index cc0a087..fc1217b 100644
> --- a/src/util/buf.c
> +++ b/src/util/buf.c
> @@ -245,12 +245,15 @@ virBufferVSprintf(const virBufferPtr buf, const char *format, ...)
>          va_end(locarg);
> 
>          grow_size = (count > 1000) ? count : 1000;
> -        if (virBufferGrow(buf, grow_size) < 0)
> +        if (virBufferGrow(buf, grow_size) < 0) {
> +            va_end(argptr);
>              return;
> +        }
> 
>          size = buf->size - buf->use - 1;
>          va_copy(locarg, argptr);
>      }
> +    va_end(argptr);
>      va_end(locarg);
>      buf->use += count;
>      buf->content[buf->use] = '\0';

  Yup, ACK !

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list