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);