9pfs: fix file descriptor leak
commitd63fb193e71644a073b77ff5ac6f1216f2f6cf6e
authorLi Qiang <liq3ea@gmail.com>
Mon, 27 Mar 2017 19:13:19 +0000 (27 21:13 +0200)
committerGreg Kurz <groug@kaod.org>
Mon, 27 Mar 2017 19:13:19 +0000 (27 21:13 +0200)
treeecfdb579e3ae334cb753342c688058ba5bedc928
parenteb06c9e2d3c8f026a206e8402b0ffa201060ec8e
9pfs: fix file descriptor leak

The v9fs_create() and v9fs_lcreate() functions are used to create a file
on the backend and to associate it to a fid. The fid shouldn't be already
in-use, otherwise both functions may silently leak a file descriptor or
allocated memory. The current code doesn't check that.

This patch ensures that the fid isn't already associated to anything
before using it.

Signed-off-by: Li Qiang <liqiang6-s@360.cn>
(reworded the changelog, Greg Kurz)
Signed-off-by: Greg Kurz <groug@kaod.org>
hw/9pfs/9p.c