9pfs: fix memory leak in v9fs_write
If an error occurs when marshalling the transfer length to the guest, the v9fs_write() function doesn't free an IO vector, thus leading to a memory leak. This patch fixes the issue. Signed-off-by: Li Qiang <liqiang6-s@360.cn> Reviewed-by: Greg Kurz <groug@kaod.org> [groug, rephrased the changelog] Signed-off-by: Greg Kurz <groug@kaod.org>
This commit is contained in:
parent
4c1586787f
commit
fdfcc9aeea
@ -2090,7 +2090,7 @@ static void coroutine_fn v9fs_write(void *opaque)
|
|||||||
offset = 7;
|
offset = 7;
|
||||||
err = pdu_marshal(pdu, offset, "d", total);
|
err = pdu_marshal(pdu, offset, "d", total);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
goto out;
|
goto out_qiov;
|
||||||
}
|
}
|
||||||
err += offset;
|
err += offset;
|
||||||
trace_v9fs_write_return(pdu->tag, pdu->id, total, err);
|
trace_v9fs_write_return(pdu->tag, pdu->id, total, err);
|
||||||
|
Loading…
Reference in New Issue
Block a user