summary refs log tree commit diff
path: root/fs
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2013-03-02 17:13:55 -0500
committerTheodore Ts'o <tytso@mit.edu>2013-03-02 17:13:55 -0500
commit3e36a16375eee390a9d80f99499fe630efa08128 (patch)
treec07bece14821d3b66c781b969c4ec0ed5ee37a26 /fs
parentdf05c1b85a88888b92725ef27ba70086f38fb083 (diff)
downloadlinux-3e36a16375eee390a9d80f99499fe630efa08128.tar.gz
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')
-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