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

Michal Privoznik mprivozn at redhat.com
Thu Aug 4 07:47:48 UTC 2016


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()))
                 goto cleanup;
         } else if (err && err->domain == VIR_FROM_POLKIT &&
                    err->code == VIR_ERR_AUTH_FAILED) {
-- 
2.8.4




More information about the libvir-list mailing list