aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Laszlo Papp <ext-laszlo.papp@nokia.com>2011-03-07 14:33:38 +0200
committerGravatar Miklos Szeredi <mszeredi@suse.cz>2011-03-30 19:34:58 +0200
commitdb5d46976b35462cd953e2d4b2e3707562327c4f (patch)
tree8e6131a4506612cc2cf860c5b5009146d505aea3
parentc47093404336bbaac2156a15782635dec4f70296 (diff)
Fix a potential resource leak (newargv)
-rw-r--r--lib/fuse_opt.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/fuse_opt.c b/lib/fuse_opt.c
index b15e7db..b912764 100644
--- a/lib/fuse_opt.c
+++ b/lib/fuse_opt.c
@@ -54,10 +54,15 @@ int fuse_opt_add_arg(struct fuse_args *args, const char *arg)
assert(!args->argv || args->allocated);
+ newarg = strdup(arg);
+ if (!newarg)
+ return alloc_failed();
+
newargv = realloc(args->argv, (args->argc + 2) * sizeof(char *));
- newarg = newargv ? strdup(arg) : NULL;
- if (!newargv || !newarg)
+ if (!newargv) {
+ free(newarg);
return alloc_failed();
+ }
args->argv = newargv;
args->allocated = 1;