mirror of
https://gitee.com/openharmony/third_party_f2fs-tools
synced 2024-11-23 10:10:00 +00:00
fsck.f2fs: sanity check segno and blk_off when building curseg array
segno and blk_off were read from input image without sanity check. This could lead to buffer overflow when accessing internal arrays like SIT sentries and seg_entry cur_valid_map. Signed-off-by: Jin Qian <jinqian@google.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
b79c3ba4ea
commit
892e1542e7
@ -1130,6 +1130,9 @@ static void build_curseg(struct f2fs_sb_info *sbi)
|
||||
blk_off = get_cp(cur_node_blkoff[i - CURSEG_HOT_NODE]);
|
||||
segno = get_cp(cur_node_segno[i - CURSEG_HOT_NODE]);
|
||||
}
|
||||
ASSERT(segno < TOTAL_SEGS(sbi));
|
||||
ASSERT(blk_off < DEFAULT_BLOCKS_PER_SEGMENT);
|
||||
|
||||
array[i].segno = segno;
|
||||
array[i].zone = GET_ZONENO_FROM_SEGNO(sbi, segno);
|
||||
array[i].next_segno = NULL_SEGNO;
|
||||
|
Loading…
Reference in New Issue
Block a user