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

Reply via email to