hw/remote: check visit return in vfu_object_set_socket
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>
Marc-André Lureau committed
Apr 24, 2026 at 19:05 UTC
d4ab149fba56478f0ebd34d24ca6fb4227a5b4de
1 file changed
+3
-1
hw/remote/vfio-user-obj.c
+3
-1
@@ -161,7 +161,9 @@ static void vfu_object_set_socket(Object *obj, Visitor *v, const char *name,
161
162
o->socket = NULL;
163
164
- visit_type_SocketAddress(v, name, &o->socket, errp);
164
+ if (!visit_type_SocketAddress(v, name, &o->socket, errp)) {
165
+ return;
166
+ }
167
168
if (o->socket->type != SOCKET_ADDRESS_TYPE_UNIX) {
169
error_setg(errp, "vfu: Unsupported socket type - %s",