[Virtio-fs] [PATCH v2 2/5] virtiofsd: fix memory leak on lo.source

Liu Bo bo.liu at linux.alibaba.com
Thu Jun 6 21:43:53 UTC 2019


valgrind reported that lo.source is leaked on quiting, but it was defined
as (const char*) as it may point to a const string "/".

Signed-off-by: Liu Bo <bo.liu at linux.alibaba.com>
---
 contrib/virtiofsd/passthrough_ll.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/contrib/virtiofsd/passthrough_ll.c b/contrib/virtiofsd/passthrough_ll.c
index b58708f..959d74d 100644
--- a/contrib/virtiofsd/passthrough_ll.c
+++ b/contrib/virtiofsd/passthrough_ll.c
@@ -2269,9 +2269,8 @@ int main(int argc, char *argv[])
 			err(1, "failed to stat source (\"%s\")", lo.source);
 		if (!S_ISDIR(stat.st_mode))
 			errx(1, "source is not a directory");
-
 	} else {
-		lo.source = "/";
+		lo.source = strdup("/");
 	}
 	lo.root.is_symlink = false;
 	if (!lo.timeout_set) {
@@ -2333,5 +2332,7 @@ err_out1:
 	if (lo.root.fd >= 0)
 		close(lo.root.fd);
 
+        free((char *)lo.source);
+
 	return ret ? 1 : 0;
 }
-- 
1.8.3.1




More information about the Virtio-fs mailing list