diff options
author | Theodore Ts'o <tytso@mit.edu> | 2018-03-10 19:44:37 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2018-03-10 21:23:16 -0500 |
commit | e042869209267a331dde4924965d1cfdf9b50c9b (patch) | |
tree | 7b6428abae6c699c1a026abed3599e3a649efea6 /misc | |
parent | 1d9ec88df621a74abb2a0430b474cac3c4fc998a (diff) | |
download | android_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.c | 5 |
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; |