summaryrefslogtreecommitdiffstats
path: root/fs/ext4/super.c
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2013-03-02 23:13:55 +0100
committerTheodore Ts'o <tytso@mit.edu>2013-03-02 23:13:55 +0100
commit3e36a16375eee390a9d80f99499fe630efa08128 (patch)
treec07bece14821d3b66c781b969c4ec0ed5ee37a26 /fs/ext4/super.c
parentjbd2: fix ERR_PTR dereference in jbd2__journal_start (diff)
downloadlinux-3e36a16375eee390a9d80f99499fe630efa08128.tar.xz
linux-3e36a16375eee390a9d80f99499fe630efa08128.zip
ext4: fix possible memory leak in ext4_remount()
'orig_data' is malloced in ext4_remount() and should be freed before leaving from the error handling cases, otherwise it will cause memory leak. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reviewed-by: Lukas Czerner <lczerner@redhat.com> Cc: stable@vger.kernel.org
Diffstat (limited to 'fs/ext4/super.c')
-rw-r--r--fs/ext4/super.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 1ae5860b30a3..6ac9c8a3eb08 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -4543,6 +4543,7 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data)
if (!old_opts.s_qf_names[i]) {
for (j = 0; j < i; j++)
kfree(old_opts.s_qf_names[j]);
+ kfree(orig_data);
return -ENOMEM;
}
} else