35 lines
1020 B
Diff
35 lines
1020 B
Diff
From: Li Qiang <address@hidden>
|
|
|
|
In 9pfs read dispatch function, it doesn't free two QEMUIOVector
|
|
object thus causing potential memory leak. This patch avoid this.
|
|
|
|
Signed-off-by: Li Qiang <address@hidden>
|
|
---
|
|
hw/9pfs/9p.c | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
|
|
index 119ee58..543a791 100644
|
|
--- a/hw/9pfs/9p.c
|
|
+++ b/hw/9pfs/9p.c
|
|
@@ -1826,14 +1826,15 @@ static void v9fs_read(void *opaque)
|
|
if (len < 0) {
|
|
/* IO error return the error */
|
|
err = len;
|
|
- goto out;
|
|
+ goto out_free_iovec;
|
|
}
|
|
} while (count < max_count && len > 0);
|
|
err = pdu_marshal(pdu, offset, "d", count);
|
|
if (err < 0) {
|
|
- goto out;
|
|
+ goto out_free_iovec;
|
|
}
|
|
err += offset + count;
|
|
+out_free_iovec:
|
|
qemu_iovec_destroy(&qiov);
|
|
qemu_iovec_destroy(&qiov_full);
|
|
} else if (fidp->fid_type == P9_FID_XATTR) {
|
|
--
|
|
1.8.3.1
|