Patchwork [1/2] qemu/iovec: Don't assert if sbytes is zero

login
register
mail settings
Submitter Aneesh Kumar K.V
Date Feb. 5, 2013, 5:57 a.m.
Message ID <1360043866-17721-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/218159/
State New
Headers show

Comments

Aneesh Kumar K.V - Feb. 5, 2013, 5:57 a.m.
From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>

Since these values can possibly be sent from guest (for hw/9pfs), do a sanity check
on them. A 9p write request with 0 bytes caused qemu to abort without this patch

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
---
 util/iov.c |    4 ++++
 1 file changed, 4 insertions(+)
Anthony Liguori - Feb. 6, 2013, 8:41 p.m.
Applied.  Thanks.

Regards,

Anthony Liguori

Patch

diff --git a/util/iov.c b/util/iov.c
index c0f5c56..fbe675d 100644
--- a/util/iov.c
+++ b/util/iov.c
@@ -304,6 +304,10 @@  void qemu_iovec_concat_iov(QEMUIOVector *dst,
 {
     int i;
     size_t done;
+
+    if (!sbytes) {
+        return;
+    }
     assert(dst->nalloc != -1);
     for (i = 0, done = 0; done < sbytes && i < src_cnt; i++) {
         if (soffset < src_iov[i].iov_len) {