9pfs/proxy: Check return value of proxy_marshal()
authorGreg Kurz <groug@kaod.org>
Mon, 11 Jan 2021 09:49:56 +0000 (10:49 +0100)
committerGreg Kurz <groug@kaod.org>
Thu, 21 Jan 2021 16:49:45 +0000 (17:49 +0100)
This should always successfully write exactly two 32-bit integers.
Make it clear with an assert(), like v9fs_receive_status() and
v9fs_receive_response() already do when unmarshalling the same
header.

Fixes: Coverity CID 1438968
Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Message-Id: <161035859647.1221144.4691749806675653934.stgit@bahia.lan>
Signed-off-by: Greg Kurz <groug@kaod.org>
hw/9pfs/9p-proxy.c

index 6f598a0f111c5d01798bb84322db22ef8558dcb9..4aa4e0a3baa07a056a63c4df8f3b14ae0de938c2 100644 (file)
@@ -537,7 +537,8 @@ static int v9fs_request(V9fsProxy *proxy, int type, void *response, ...)
     }
 
     /* marshal the header details */
-    proxy_marshal(iovec, 0, "dd", header.type, header.size);
+    retval = proxy_marshal(iovec, 0, "dd", header.type, header.size);
+    assert(retval == 4 * 2);
     header.size += PROXY_HDR_SZ;
 
     retval = qemu_write_full(proxy->sockfd, iovec->iov_base, header.size);