ext4: fix buffer leak in __ext4_read_dirblock() on error path
Fixes: dc6982ff4d
("ext4: refactor code to read directory blocks ...")
Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org # 3.9
This commit is contained in:
parent
53692ec074
commit
de59fae004
|
@ -126,6 +126,7 @@ static struct buffer_head *__ext4_read_dirblock(struct inode *inode,
|
||||||
if (!is_dx_block && type == INDEX) {
|
if (!is_dx_block && type == INDEX) {
|
||||||
ext4_error_inode(inode, func, line, block,
|
ext4_error_inode(inode, func, line, block,
|
||||||
"directory leaf block found instead of index block");
|
"directory leaf block found instead of index block");
|
||||||
|
brelse(bh);
|
||||||
return ERR_PTR(-EFSCORRUPTED);
|
return ERR_PTR(-EFSCORRUPTED);
|
||||||
}
|
}
|
||||||
if (!ext4_has_metadata_csum(inode->i_sb) ||
|
if (!ext4_has_metadata_csum(inode->i_sb) ||
|
||||||
|
|
Loading…
Reference in New Issue