[libvirt] [PATCH] util: fix va_start usage bug
Jim Meyering
jim at meyering.net
Thu May 6 14:56:07 UTC 2010
Eric Blake wrote:
> Detected by clang. POSIX requires that the second argument to
> va_start be the name of the last variable; and in some implementations,
> passing *path instead of path would dereference bogus memory instead
> of pulling arguments off the stack.
>
> * src/util/util.c (virBuildPathInternal): Use correct argument to
> va_start.
> ---
>
> I think this falls under the trivial rule, as it silences a
> compiler warning and is a one-line fix of a real bug, so I pushed it.
In a way it's trivial, but it's also rather subtle.
ACK, regardless.
> src/util/util.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/src/util/util.c b/src/util/util.c
> index 2d32952..c44d012 100644
> --- a/src/util/util.c
> +++ b/src/util/util.c
> @@ -2799,7 +2799,7 @@ int virBuildPathInternal(char **path, ...)
> va_list ap;
> int ret = 0;
>
> - va_start(ap, *path);
> + va_start(ap, path);
>
> path_component = va_arg(ap, char *);
> virBufferAdd(&buf, path_component, -1);
More information about the libvir-list
mailing list