From 4fe54e0e98050bf4529d67a266b6b10286312eaa Mon Sep 17 00:00:00 2001
From: Michal Privoznik <mprivozn@redhat.com>
Date: Thu, 25 Feb 2021 11:58:38 +0100
Subject: [PATCH 6/6] virtpm: Fix @path handling in virTPMEmulatorInit()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This function finds "swtmp", "swtpm_setup" and "swtpm_ioctl"
binaries in $PATH and stores resolved paths in global variables
so that they can be obtainer later. Anyway, the resolved path is
marked as g_autofree and to avoid its freeing later on in the
function the variable is set to NULL manually. Well, we have
g_steal_pointer() for that.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: yezengruan <yezengruan@huawei.com>
---
 src/util/virtpm.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/util/virtpm.c b/src/util/virtpm.c
index c734bf941a..1a61a92f69 100644
--- a/src/util/virtpm.c
+++ b/src/util/virtpm.c
@@ -325,16 +325,14 @@ virTPMEmulatorInit(void)
                                      _("Could not stat %s"), path);
                 goto cleanup;
             }
-            *prgs[i].path = path;
+            *prgs[i].path = g_steal_pointer(&path);
 
             if (prgs[i].caps) {
                 *prgs[i].caps = virTPMGetCaps(prgs[i].typeFromStringFn,
-                                              path, prgs[i].parm);
-                path = NULL;
+                                              *prgs[i].path, prgs[i].parm);
                 if (!*prgs[i].caps)
                     goto cleanup;
             }
-            path = NULL;
         }
     }
 
-- 
2.27.0

