mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avcodec/h264_loopfilter: Fix incorrect function parameter array size
filter_mb_mbaff_edgev() and filter_mb_mbaff_edgecv() have a function parameter whose expected size depends upon another parameter: It is 2 * bsi + 1 (with bsi always being 1 or 2). This array is declared as const int16_t[7], yet some of the callers with bsi == 1 call it with only an const int16_t[4] available. This leads to -Wstringop-overread warnings from GCC 12.1. This commit fixes these by replacing [7] with [/* 2 * bsi + 1 */], so that the expected range and its dependence on bsi is immediately visible. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
708890e78f
commit
890efee2b8
@ -143,7 +143,7 @@ static av_always_inline void filter_mb_edgecv(uint8_t *pix, int stride,
|
||||
|
||||
static av_always_inline void filter_mb_mbaff_edgev(const H264Context *h, uint8_t *pix,
|
||||
int stride,
|
||||
const int16_t bS[7], int bsi,
|
||||
const int16_t bS[ /* 1 + 2 * bsi */ ], int bsi,
|
||||
int qp, int a, int b,
|
||||
int intra)
|
||||
{
|
||||
@ -166,7 +166,7 @@ static av_always_inline void filter_mb_mbaff_edgev(const H264Context *h, uint8_t
|
||||
|
||||
static av_always_inline void filter_mb_mbaff_edgecv(const H264Context *h,
|
||||
uint8_t *pix, int stride,
|
||||
const int16_t bS[7],
|
||||
const int16_t bS[ /* 1 + 2 * bsi */ ],
|
||||
int bsi, int qp, int a,
|
||||
int b, int intra)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user