drivers/video: Fix multiplication overflow

Add cast to uint32_t type to avoid multiplication overflow.
This commit is contained in:
SPRESENSE 2022-02-03 10:12:26 +09:00 committed by Petro Karashchenko
parent c0ea6c5b49
commit 1212d3b7d8
1 changed files with 6 additions and 4 deletions

View File

@ -626,11 +626,13 @@ static void get_clipped_format(uint8_t nr_fmt,
&fmt[VIDEO_FMT_SUB],
sizeof(video_format_t));
c_fmt[VIDEO_FMT_SUB].width *= clip->width;
c_fmt[VIDEO_FMT_SUB].width /= fmt[VIDEO_FMT_MAIN].width;
c_fmt[VIDEO_FMT_SUB].width
= (uint32_t)c_fmt[VIDEO_FMT_SUB].width
* clip->width / fmt[VIDEO_FMT_MAIN].width;
c_fmt[VIDEO_FMT_SUB].height *= clip->height;
c_fmt[VIDEO_FMT_SUB].height /= fmt[VIDEO_FMT_MAIN].height;
c_fmt[VIDEO_FMT_SUB].height
= (uint32_t)c_fmt[VIDEO_FMT_SUB].height
* clip->height / fmt[VIDEO_FMT_MAIN].height;
}
}
else