summary refs log tree commit diff stats
path: root/hw
diff options
context:
space:
mode:
authorJiajun Chen <chenjiajun8@huawei.com>2020-01-20 15:11:39 +0100
committerGreg Kurz <groug@kaod.org>2020-01-20 15:11:39 +0100
commit841b8d099c462cd4282c4ced8c2a6512899fd8d9 (patch)
tree4435050a1441de6860a101844d5501223f760239 /hw
parent43d1455cf84283466e5c22a217db5ef4b8197b14 (diff)
downloadfocaccia-qemu-841b8d099c462cd4282c4ced8c2a6512899fd8d9.tar.gz
focaccia-qemu-841b8d099c462cd4282c4ced8c2a6512899fd8d9.zip
9pfs: local: Fix possible memory leak in local_link()
There is a possible memory leak while local_link return -1 without free
odirpath and oname.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Jaijun Chen <chenjiajun8@huawei.com>
Signed-off-by: Xiang Zheng <zhengxiang9@huawei.com>
Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Greg Kurz <groug@kaod.org>
Diffstat (limited to 'hw')
-rw-r--r--hw/9pfs/9p-local.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
index ca641390fb..d0592c3b45 100644
--- a/hw/9pfs/9p-local.c
+++ b/hw/9pfs/9p-local.c
@@ -947,7 +947,7 @@ static int local_link(FsContext *ctx, V9fsPath *oldpath,
     if (ctx->export_flags & V9FS_SM_MAPPED_FILE &&
         local_is_mapped_file_metadata(ctx, name)) {
         errno = EINVAL;
-        return -1;
+        goto out;
     }
 
     odirfd = local_opendir_nofollow(ctx, odirpath);