g_variant_new_parsed uses '%t' for a uint64_t rather than printf-like
%llu. Additionally ensure that the passed value is a uint64_t since the
argument used is a 'unsigned int'.
Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1937287
Fixes: bf5f2ed09c2
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/util/virsystemd.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/util/virsystemd.c b/src/util/virsystemd.c
index c109324e96..c22f2df866 100644
--- a/src/util/virsystemd.c
+++ b/src/util/virsystemd.c
@@ -519,11 +519,12 @@ int virSystemdCreateMachine(const char *name,
}
if (maxthreads > 0) {
+ uint64_t max = maxthreads;
+
if (!(scopename = virSystemdMakeScopeName(name, drivername, false)))
return -1;
- gprops = g_variant_new_parsed("[('TasksMax', <%llu>)]",
- (uint64_t)maxthreads);
+ gprops = g_variant_new_parsed("[('TasksMax', <%t>)]",
max);
message = g_variant_new("(sb@a(sv))",
scopename,
--
2.29.2