diff options
author | Wei Yongjun <yongjun_wei@trendmicro.com.cn> | 2013-03-02 17:13:55 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2013-03-02 17:13:55 -0500 |
commit | 3e36a16375eee390a9d80f99499fe630efa08128 (patch) | |
tree | c07bece14821d3b66c781b969c4ec0ed5ee37a26 /fs | |
parent | df05c1b85a88888b92725ef27ba70086f38fb083 (diff) |
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.c | 1 |
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) | |||
4543 | if (!old_opts.s_qf_names[i]) { | 4543 | if (!old_opts.s_qf_names[i]) { |
4544 | for (j = 0; j < i; j++) | 4544 | for (j = 0; j < i; j++) |
4545 | kfree(old_opts.s_qf_names[j]); | 4545 | kfree(old_opts.s_qf_names[j]); |
4546 | kfree(orig_data); | ||
4546 | return -ENOMEM; | 4547 | return -ENOMEM; |
4547 | } | 4548 | } |
4548 | } else | 4549 | } else |