[libvirt] [PATCH] Fix misc bugs in virCommandPtr

Laine Stump laine at laine.org
Tue Mar 15 14:00:47 UTC 2011


On 03/15/2011 08:32 AM, Daniel P. Berrange wrote:
> The virCommandNewArgs() method would free the virCommandPtr
> if it failed to add the args. This meant errors reported in
> virCommandAddArgSet() were lost. Simply removing the check
> for errors from the constructor means they can be reported
> correctly later
>
> The virCommandAddEnvPassCommon() method failed to check for
> errors before reallocating the cmd->env array, causing a
> potential SEGV if cmd was NULL
>
> The virCommandAddArgSet() method needs to validate that at
> least 1 element in 'val's parameter is non-NULL, otherwise
> code like
>
>      cmd = virCommandNew(binary)
>      virCommandAddAtg(cmd, "foo")
>
> Would end up trying todo  execve("foo"), if binary was
> NULL.
> ---
>   src/util/command.c |   13 ++++++++-----
>   1 files changed, 8 insertions(+), 5 deletions(-)

Those all make sense to me. ACK.




More information about the libvir-list mailing list