example/{hello,null}: Fix memory leaks
authorRostislav Skudnov <rostislav@tuxera.com>
Sat, 21 Jul 2018 21:14:19 +0000 (21:14 +0000)
committerNikolaus Rath <Nikolaus@rath.org>
Mon, 23 Jul 2018 10:02:57 +0000 (11:02 +0100)
example/hello.c
example/null.c

index 95aed48bc5c41541d3d785720729070609398c73..57d3ecdc4ea38d0c53161fdaa6da3223b4b55206 100644 (file)
@@ -149,6 +149,7 @@ static void show_help(const char *progname)
 
 int main(int argc, char *argv[])
 {
+       int ret;
        struct fuse_args args = FUSE_ARGS_INIT(argc, argv);
 
        /* Set defaults -- we have to use strdup so that
@@ -172,5 +173,7 @@ int main(int argc, char *argv[])
                args.argv[0] = (char*) "";
        }
 
-       return fuse_main(args.argc, args.argv, &hello_oper, NULL);
+       ret = fuse_main(args.argc, args.argv, &hello_oper, NULL);
+       fuse_opt_free_args(&args);
+       return ret;
 }
index c90e86da85898993b665b66449656aac43e41c18..ed68c0b42553629cf349f34a99be960ac85d4042 100644 (file)
@@ -27,6 +27,7 @@
 #include <fuse.h>
 #include <fuse_lowlevel.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
 #include <time.h>
@@ -119,6 +120,7 @@ int main(int argc, char *argv[])
 
        if (fuse_parse_cmdline(&args, &opts) != 0)
                return 1;
+       fuse_opt_free_args(&args);
 
        if (!opts.mountpoint) {
                fprintf(stderr, "missing mountpoint parameter\n");
@@ -128,8 +130,10 @@ int main(int argc, char *argv[])
        if (stat(opts.mountpoint, &stbuf) == -1) {
                fprintf(stderr ,"failed to access mountpoint %s: %s\n",
                        opts.mountpoint, strerror(errno));
+               free(opts.mountpoint);
                return 1;
        }
+       free(opts.mountpoint);
        if (!S_ISREG(stbuf.st_mode)) {
                fprintf(stderr, "mountpoint is not a regular file\n");
                return 1;