libvirt/virtpm-Fix-path-handling-in-virTPMEmulatorInit.patch

49 lines
1.7 KiB
Diff
Raw Normal View History

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