virtiofsd: fix memory leak on lo.source

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@linux.alibaba.com>
Reviewed-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
Liu Bo 2019-06-07 05:43:53 +08:00 committed by Dr. David Alan Gilbert
parent 61cfc44982
commit eb68a33b5f

View file

@ -115,7 +115,7 @@ struct lo_data {
int writeback;
int flock;
int xattr;
const char *source;
char *source;
double timeout;
int cache;
int timeout_set;
@ -2497,9 +2497,8 @@ int main(int argc, char *argv[])
fuse_log(FUSE_LOG_ERR, "source is not a directory\n");
exit(1);
}
} else {
lo.source = "/";
lo.source = strdup("/");
}
if (!lo.timeout_set) {
switch (lo.cache) {
@ -2570,5 +2569,7 @@ err_out1:
close(lo.root.fd);
}
free(lo.source);
return ret ? 1 : 0;
}