Commit 555d0a1eba for qemu.org
commit 555d0a1eba204085e20421cd93a55276a21b8e5f
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Thu Jul 30 15:47:51 2026 +0400
hw/display/virtio-gpu: drop redundant node->value NULL checks
QAPI-generated list visitors guarantee that node->value is never NULL:
the input visitor allocates it via g_malloc0() in visit_start_struct(),
and on failure the entire list parse is aborted and freed.
Remove the unnecessary NULL checks from both callsites iterating
g->conf.outputs.
Resolves: Coverity CID 1664272
Fixes: 8dc8449a678f ("hw/display/virtio-gpu: Avoid leaking migration blocker")
Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20260730114751.3515083-1-marcandre.lureau@redhat.com>
diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c
index 946e56b42f..270fbaae10 100644
--- a/hw/display/virtio-gpu-base.c
+++ b/hw/display/virtio-gpu-base.c
@@ -69,7 +69,7 @@ virtio_gpu_base_generate_edid(VirtIOGPUBase *g, int scanout,
for (output_idx = 0, node = g->conf.outputs;
output_idx <= scanout && node; output_idx++, node = node->next) {
- if (output_idx == scanout && node->value && node->value->name) {
+ if (output_idx == scanout && node->value->name) {
info.name = node->value->name;
break;
}
@@ -206,7 +206,7 @@ virtio_gpu_base_device_realize(DeviceState *qdev,
error_setg(errp, "invalid outputs > %d", g->conf.max_outputs);
return false;
}
- if (node->value && node->value->name &&
+ if (node->value->name &&
strlen(node->value->name) > EDID_NAME_MAX_LENGTH) {
error_setg(errp, "invalid output name '%s' > %d",
node->value->name, EDID_NAME_MAX_LENGTH);