mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-14 22:22:59 +02:00
avcodec/libvpxdec: reject video and alpha dimension mismatches
Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: James Zern <jzern@google.com>
This commit is contained in:
parent
5478e2cc57
commit
c54268ce02
@ -283,6 +283,17 @@ static int vpx_decode(AVCodecContext *avctx,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ctx->has_alpha_channel &&
|
||||||
|
(img->d_w != img_alpha->d_w ||
|
||||||
|
img->d_h != img_alpha->d_h ||
|
||||||
|
img->bit_depth != img_alpha->bit_depth)) {
|
||||||
|
av_log(avctx, AV_LOG_ERROR,
|
||||||
|
"Video dimensions %dx%d@%dbpp differ from alpha dimensions %dx%d@%dbpp\n",
|
||||||
|
img->d_w, img->d_h, img->bit_depth,
|
||||||
|
img_alpha->d_w, img_alpha->d_h, img_alpha->bit_depth);
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
}
|
||||||
|
|
||||||
planes[0] = img->planes[VPX_PLANE_Y];
|
planes[0] = img->planes[VPX_PLANE_Y];
|
||||||
planes[1] = img->planes[VPX_PLANE_U];
|
planes[1] = img->planes[VPX_PLANE_U];
|
||||||
planes[2] = img->planes[VPX_PLANE_V];
|
planes[2] = img->planes[VPX_PLANE_V];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user