]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
hw/remote: check visit return in vfu_object_set_socket
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Fri, 24 Apr 2026 15:05:06 +0000 (19:05 +0400)
committerMarc-André Lureau <marcandre.lureau@redhat.com>
Mon, 11 May 2026 19:31:30 +0000 (23:31 +0400)
vfu_object_set_socket() dereferences o->socket without checking if
visit_type_SocketAddress() succeeded. On failure, o->socket remains
NULL, leading to a NULL dereference. Check the return value.

Fixes: 8f9a9259d32c ("vfio-user: define vfio-user-server object")
Reviewed-by: Jagannathan Raman <jag.raman@oracle.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
hw/remote/vfio-user-obj.c

index 12ecdab6dea04bcc3add37157f0a06ca77f33fb9..49bf5ecae0c44c6a9432fefceec964139b5fb309 100644 (file)
@@ -161,7 +161,9 @@ static void vfu_object_set_socket(Object *obj, Visitor *v, const char *name,
 
     o->socket = NULL;
 
-    visit_type_SocketAddress(v, name, &o->socket, errp);
+    if (!visit_type_SocketAddress(v, name, &o->socket, errp)) {
+        return;
+    }
 
     if (o->socket->type != SOCKET_ADDRESS_TYPE_UNIX) {
         error_setg(errp, "vfu: Unsupported socket type - %s",