Btrfs: fix possible memory leak in scrub_setup_recheck_block()
bbio has been malloced in btrfs_map_block() and should be freed before leaving from the error handling cases. spatch with a semantic match is used to found this problem. (http://coccinelle.lip6.fr/) Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
This commit is contained in:
@@ -1029,6 +1029,7 @@ static int scrub_setup_recheck_block(struct scrub_dev *sdev,
|
|||||||
spin_lock(&sdev->stat_lock);
|
spin_lock(&sdev->stat_lock);
|
||||||
sdev->stat.malloc_errors++;
|
sdev->stat.malloc_errors++;
|
||||||
spin_unlock(&sdev->stat_lock);
|
spin_unlock(&sdev->stat_lock);
|
||||||
|
kfree(bbio);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
sblock->page_count++;
|
sblock->page_count++;
|
||||||
|
Reference in New Issue
Block a user