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

Reply via email to