]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Fix build on 32-bit platforms
authorJim Fehlig via Devel <devel@lists.libvirt.org>
Thu, 20 Mar 2025 22:17:00 +0000 (16:17 -0600)
committerPavel Hrdina <phrdina@redhat.com>
Fri, 21 Mar 2025 09:56:19 +0000 (10:56 +0100)
Commits c2518f7bc7 and 28a0621528 introduced build failures on 32-bit
platforms by using incorrect format specifiers with g_strdup_printf.

In one case, an 'unsigned long' format specifier is used with a
'long long int' variable. Fix by changing the format specifier to
'uintmax_t', and casting the variable likewise.

In a second case, an 'unsigned long' format specifier is used with a
'size_t' variable, which is 'unsigned int' on 32-bit systems. Fix by
changing the format specifier to use the 'z' modifier.

Fixes: c2518f7bc7dd4f8ab8655a12ec3a000e1eb5b232
Fixes: 28a06215280b99708ed8dc2d183f62ba7b34ccf8
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
src/qemu/qemu_monitor.c
src/qemu/qemu_process.c

index 7610d43e6c0ca971b5c001bc7e50eb3e8b044c62..6249dc8299783754d7d3b300b54093686b6ae7b8 100644 (file)
@@ -2259,8 +2259,8 @@ qemuMonitorMigrateToFdSet(virDomainObj *vm,
         qemuFDPassAddFD(fdPassMigrate, directFd, "-directio-fd");
     qemuFDPassTransferMonitor(fdPassMigrate, mon);
 
-    uri = g_strdup_printf("file:%s,offset=%#lx",
-                          qemuFDPassGetPath(fdPassMigrate), offset);
+    uri = g_strdup_printf("file:%s,offset=%#jx",
+                          qemuFDPassGetPath(fdPassMigrate), (uintmax_t)offset);
     ret = qemuMonitorJSONMigrate(mon, flags, uri);
 
     return ret;
index c244895863aebb4bf5feeff7d8c5f9ac4b078edf..c3eeadfc3b6420409c59557a8846fe8941647303 100644 (file)
@@ -4917,7 +4917,7 @@ qemuProcessIncomingDefNew(virQEMUDriver *driver,
         } else {
             qemuFDPassAddFD(inc->fdPassMigrate, fd, "-buffered-fd");
         }
-        inc->uri = g_strdup_printf("file:%s,offset=%#lx",
+        inc->uri = g_strdup_printf("file:%s,offset=%#zx",
                                    qemuFDPassGetPath(inc->fdPassMigrate), offset);
     } else {
         inc->uri = qemuMigrationDstGetURI(migrateFrom, *fd);