On 2019/7/20 上午2:52, Oleinik, Alexander wrote:
Virtual devices should not try to send zero-sized packets. The caller
should check the size prior to calling qemu_sendv_packet_async.
Signed-off-by: Alexander Oleinik <alx...@bu.edu>
---
net/net.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/net/net.c b/net/net.c
index 7d4098254f..fad20bc611 100644
--- a/net/net.c
+++ b/net/net.c
@@ -741,6 +741,9 @@ ssize_t qemu_sendv_packet_async(NetClientState *sender,
size_t size = iov_size(iov, iovcnt);
int ret;
+ /* 0-sized packets are unsupported. Check size in the caller */
+ assert(size);
Can this be triggered through a buggy device by guest? If yes, we need
avoid using assert() here.
Thanks
+
if (size > NET_BUFSIZE) {
return size;
}