avfilter/vf_premultiply: Use AV_PIX_MAX_PLANES

Helps: CID1435164 Out-of-bounds read
Helps: CID1435165 Out-of-bounds read
Helps: CID1435167 Out-of-bounds read
Helps: CID1435169 Out-of-bounds read

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2024-07-08 21:50:12 +02:00
parent 9385847af4
commit 05e21b8902
No known key found for this signature in database
GPG Key ID: B18E8928B3948D64

View File

@ -36,8 +36,8 @@ typedef struct ThreadData {
typedef struct PreMultiplyContext {
const AVClass *class;
int width[4], height[4];
int linesize[4];
int width[AV_VIDEO_MAX_PLANES], height[AV_VIDEO_MAX_PLANES];
int linesize[AV_VIDEO_MAX_PLANES];
int nb_planes;
int planes;
int inverse;
@ -45,7 +45,7 @@ typedef struct PreMultiplyContext {
int half, depth, offset, max;
FFFrameSync fs;
void (*premultiply[4])(const uint8_t *msrc, const uint8_t *asrc,
void (*premultiply[AV_VIDEO_MAX_PLANES])(const uint8_t *msrc, const uint8_t *asrc,
uint8_t *dst,
ptrdiff_t mlinesize, ptrdiff_t alinesize,
ptrdiff_t dlinesize,