aboutsummaryrefslogtreecommitdiffstats
path: root/misc
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2018-03-10 19:44:37 -0500
committerTheodore Ts'o <tytso@mit.edu>2018-03-10 21:23:16 -0500
commite042869209267a331dde4924965d1cfdf9b50c9b (patch)
tree7b6428abae6c699c1a026abed3599e3a649efea6 /misc
parent1d9ec88df621a74abb2a0430b474cac3c4fc998a (diff)
downloadandroid_external_e2fsprogs-e042869209267a331dde4924965d1cfdf9b50c9b.tar.gz
android_external_e2fsprogs-e042869209267a331dde4924965d1cfdf9b50c9b.tar.bz2
android_external_e2fsprogs-e042869209267a331dde4924965d1cfdf9b50c9b.zip
misc/fsck: fix potential memory leak on error path
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'misc')
-rw-r--r--misc/fsck.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/misc/fsck.c b/misc/fsck.c
index a2e0dfba..cd23537a 100644
--- a/misc/fsck.c
+++ b/misc/fsck.c
@@ -441,13 +441,14 @@ static int execute(const char *type, const char *device, const char *mntpt,
struct fsck_instance *inst, *p;
pid_t pid;
+ if (snprintf(prog, sizeof(prog), "fsck.%s", type) >= sizeof(prog))
+ return EINVAL;
+
inst = malloc(sizeof(struct fsck_instance));
if (!inst)
return ENOMEM;
memset(inst, 0, sizeof(struct fsck_instance));
- if (snprintf(prog, sizeof(prog), "fsck.%s", type) >= sizeof(prog))
- return EINVAL;
argv[0] = string_copy(prog);
argc = 1;