The virStateDriver struct has .stateInitialize callback which is declared to return virDrvStateInitResult enum. But some drivers return a plain int in their implementation which is UB. Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> --- src/bhyve/bhyve_driver.c | 2 +- src/ch/ch_driver.c | 11 ++++++----- src/interface/interface_backend_netcf.c | 2 +- src/interface/interface_backend_udev.c | 2 +- src/libxl/libxl_driver.c | 2 +- src/lxc/lxc_driver.c | 11 ++++++----- src/network/bridge_driver.c | 2 +- src/node_device/node_device_udev.c | 2 +- src/nwfilter/nwfilter_driver.c | 2 +- src/qemu/qemu_driver.c | 2 +- src/remote/remote_driver.c | 2 +- src/secret/secret_driver.c | 2 +- src/storage/storage_driver.c | 2 +- src/vz/vz_driver.c | 2 +- 14 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index 4203b13f94..2bd1e4c387 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -1176,7 +1176,7 @@ bhyveStateCleanup(void) return 0; } -static int +static virDrvStateInitResult bhyveStateInitialize(bool privileged, const char *root, bool monolithic G_GNUC_UNUSED, diff --git a/src/ch/ch_driver.c b/src/ch/ch_driver.c index 7308f40249..fbeac60825 100644 --- a/src/ch/ch_driver.c +++ b/src/ch/ch_driver.c @@ -1365,11 +1365,12 @@ static int chStateCleanup(void) return 0; } -static int chStateInitialize(bool privileged, - const char *root, - bool monolithic G_GNUC_UNUSED, - virStateInhibitCallback callback G_GNUC_UNUSED, - void *opaque G_GNUC_UNUSED) +static virDrvStateInitResult +chStateInitialize(bool privileged, + const char *root, + bool monolithic G_GNUC_UNUSED, + virStateInhibitCallback callback G_GNUC_UNUSED, + void *opaque G_GNUC_UNUSED) { int ret = VIR_DRV_STATE_INIT_ERROR; int rv; diff --git a/src/interface/interface_backend_netcf.c b/src/interface/interface_backend_netcf.c index d4a11157cc..16e1215663 100644 --- a/src/interface/interface_backend_netcf.c +++ b/src/interface/interface_backend_netcf.c @@ -86,7 +86,7 @@ virNetcfDriverStateDispose(void *obj) } -static int +static virDrvStateInitResult netcfStateInitialize(bool privileged, const char *root, bool monolithic G_GNUC_UNUSED, diff --git a/src/interface/interface_backend_udev.c b/src/interface/interface_backend_udev.c index 8bb19d7764..fdf11a8318 100644 --- a/src/interface/interface_backend_udev.c +++ b/src/interface/interface_backend_udev.c @@ -1091,7 +1091,7 @@ udevInterfaceIsActive(virInterfacePtr ifinfo) static int udevStateCleanup(void); -static int +static virDrvStateInitResult udevStateInitialize(bool privileged, const char *root, bool monolithic G_GNUC_UNUSED, diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index 4d5eb920bf..7dcae58413 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -645,7 +645,7 @@ libxlAddDom0(libxlDriverPrivate *driver) return ret; } -static int +static virDrvStateInitResult libxlStateInitialize(bool privileged, const char *root, bool monolithic G_GNUC_UNUSED, diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 1842ae8f0e..f76d09e8a9 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -1429,11 +1429,12 @@ lxcSecurityInit(virLXCDriverConfig *cfg) } -static int lxcStateInitialize(bool privileged, - const char *root, - bool monolithic G_GNUC_UNUSED, - virStateInhibitCallback callback G_GNUC_UNUSED, - void *opaque G_GNUC_UNUSED) +static virDrvStateInitResult +lxcStateInitialize(bool privileged, + const char *root, + bool monolithic G_GNUC_UNUSED, + virStateInhibitCallback callback G_GNUC_UNUSED, + void *opaque G_GNUC_UNUSED) { virLXCDriverConfig *cfg = NULL; bool autostart = true; diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index e5f9ecf9e8..d7c1ef172d 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -576,7 +576,7 @@ firewalld_dbus_signal_callback(GDBusConnection *connection G_GNUC_UNUSED, * * Initialization function for the QEMU daemon */ -static int +static virDrvStateInitResult networkStateInitialize(bool privileged, const char *root, bool monolithic G_GNUC_UNUSED, diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c index f1e402f8f7..237cd7f645 100644 --- a/src/node_device/node_device_udev.c +++ b/src/node_device/node_device_udev.c @@ -2229,7 +2229,7 @@ mdevctlEventHandleCallback(GFileMonitor *monitor G_GNUC_UNUSED, } -static int +static virDrvStateInitResult nodeStateInitialize(bool privileged, const char *root, bool monolithic G_GNUC_UNUSED, diff --git a/src/nwfilter/nwfilter_driver.c b/src/nwfilter/nwfilter_driver.c index 09719edd75..8ece91bf7c 100644 --- a/src/nwfilter/nwfilter_driver.c +++ b/src/nwfilter/nwfilter_driver.c @@ -208,7 +208,7 @@ nwfilterStateCleanup(void) * * Initialization function for the QEMU daemon */ -static int +static virDrvStateInitResult nwfilterStateInitialize(bool privileged, const char *root, bool monolithic G_GNUC_UNUSED, diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index d01f788aea..e2698c7924 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -546,7 +546,7 @@ qemuDomainFindMaxID(virDomainObj *vm, * * Initialization function for the QEMU daemon */ -static int +static virDrvStateInitResult qemuStateInitialize(bool privileged, const char *root, bool monolithic G_GNUC_UNUSED, diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index 7b73d97b7a..e76d9e9ba4 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -174,7 +174,7 @@ static void make_nonnull_domain_snapshot(remote_nonnull_domain_snapshot *snapsho /* Helper functions for remoteOpen. */ -static int +static virDrvStateInitResult remoteStateInitialize(bool privileged G_GNUC_UNUSED, const char *root G_GNUC_UNUSED, bool monolithic, diff --git a/src/secret/secret_driver.c b/src/secret/secret_driver.c index c7bd65b4e9..a2d6b879d0 100644 --- a/src/secret/secret_driver.c +++ b/src/secret/secret_driver.c @@ -488,7 +488,7 @@ secretStateCleanup(void) } -static int +static virDrvStateInitResult secretStateInitialize(bool privileged, const char *root, bool monolithic G_GNUC_UNUSED, diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index 314fe930e0..86c03762d2 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -239,7 +239,7 @@ storageDriverAutostart(void) * * Initialization function for the Storage Driver */ -static int +static virDrvStateInitResult storageStateInitialize(bool privileged, const char *root, bool monolithic G_GNUC_UNUSED, diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index 380fdcb57e..4edea4bf18 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -4068,7 +4068,7 @@ vzStateCleanup(void) return 0; } -static int +static virDrvStateInitResult vzStateInitialize(bool privileged, const char *root, bool monolithic G_GNUC_UNUSED, -- 2.44.1