On a Monday in 2022, Peter Krempa wrote:
'STREQ' is used to compare the override alias with the device
alias.
While the parser ensures that the override alias is non-NULL, the device
alias may be NULL and STREQ doesn't handle that.
Fixes: 38ab5c9ead5
Resolves:
https://gitlab.com/libvirt/libvirt/-/issues/321
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/qemu/qemu_command.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 52e4ef03cd..b1be77743c 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -240,6 +240,10 @@ qemuBuildDeviceCommandlineHandleOverrides(virJSONValue *props,
const char *alias = virJSONValueObjectGetString(props, "id");
size_t i;
+ /* If the device doesn't have an alias we can't override it's props */
*its
+ if (!alias)
+ return;
+
for (i = 0; i < nsdef->ndeviceOverride; i++) {
qemuDomainXmlNsDeviceOverride *dev = nsdef->deviceOverride + i;
size_t j;
Reviewed-by: Ján Tomko <jtomko(a)redhat.com>
Jano