Le mercredi 15 juin 2022 à 11:38 -0400, Justin Green a écrit : > Modify vb2ops_vdec_buf_prepare to return EINVAL if the size of the plane > is less than the size of the image. Currently we just log an error and > return 0 anyway, which may cause a buffer overrun bug. > > Signed-off-by: Justin Green <greenjustin@xxxxxxxxxxxx> > Suggested-by: Andres Calderon Jaramillo <andrescj@xxxxxxxxxxxx> Reviewed-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx> > --- > drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c > index 52e5d36aa912..191e13344c53 100644 > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c > @@ -735,6 +735,7 @@ int vb2ops_vdec_buf_prepare(struct vb2_buffer *vb) > mtk_v4l2_err("data will not fit into plane %d (%lu < %d)", > i, vb2_plane_size(vb, i), > q_data->sizeimage[i]); > + return -EINVAL; > } > if (!V4L2_TYPE_IS_OUTPUT(vb->type)) > vb2_set_plane_payload(vb, i, q_data->sizeimage[i]);