[libvirt] [PATCH 4/6] virshConnect: Don't leak polkit agent

Peter Krempa pkrempa at redhat.com
Thu Aug 4 10:14:14 UTC 2016


On Thu, Aug 04, 2016 at 09:47:48 +0200, Michal Privoznik wrote:
> In our attempts to reconnect, we may create a polkit daemon.
> However, it may happen that we would rewrite the variable that
> already holds pointer to the agent.
> 
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
>  tools/virsh.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/virsh.c b/tools/virsh.c
> index d3fe06f..cb60edc 100644
> --- a/tools/virsh.c
> +++ b/tools/virsh.c
> @@ -168,7 +168,7 @@ virshConnect(vshControl *ctl, const char *uri, bool readonly)
>          err = virGetLastError();
>          if (err && err->domain == VIR_FROM_POLKIT &&
>              err->code == VIR_ERR_AUTH_UNAVAILABLE) {
> -            if (!(pkagent = virPolkitAgentCreate()))
> +            if (!pkagent && !(pkagent = virPolkitAgentCreate()))

This almost looks like a false positive, but I think that the loop of
conditions that would actually make us overwrite the agent is very
unintrospectable for humans too.

ACK




More information about the libvir-list mailing list