Neither fuse_parse_cmdline() nor fuse_opt_parse() goes to the right place to do cleanup.
Signed-off-by: Liu Bo <[email protected]> --- 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 e7e19dc..649991e 100644 --- a/contrib/virtiofsd/passthrough_ll.c +++ b/contrib/virtiofsd/passthrough_ll.c @@ -2243,7 +2243,8 @@ int main(int argc, char *argv[]) lo_map_init(&lo.fd_map); if (fuse_parse_cmdline(&args, &opts) != 0) - return 1; + goto err_out1; + if (opts.show_help) { printf("usage: %s [options]\n\n", argv[0]); fuse_cmdline_help(); @@ -2258,7 +2259,7 @@ int main(int argc, char *argv[]) } if (fuse_opt_parse(&args, &lo, lo_opts, NULL)== -1) - return 1; + goto err_out1; lo.debug = opts.debug; if (lo.source) { -- 1.8.3.1
