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

Submitted by Aneesh Kumar K.V on Feb. 5, 2013, 5:57 a.m.

Details

Message ID 1360043866-17721-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com
State New
Headers show

Commit Message

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(+)

Comments

Anthony Liguori Feb. 6, 2013, 8:41 p.m.
Applied.  Thanks.

Regards,

Anthony Liguori

Patch hide | download patch | download mbox

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) {