[FFmpeg-cvslog] avcodec/dvdsubenc: return error if canvas_size is too small for subtitle render

Limin Wang git at videolan.org
Thu May 19 17:27:48 EEST 2022


ffmpeg | branch: master | Limin Wang <lance.lmwang at gmail.com> | Sun May  8 22:52:14 2022 +0800| [94968dbc1116e23cb658c09538e9bce52b63d654] | committer: Limin Wang

avcodec/dvdsubenc: return error if canvas_size is too small for subtitle render

Signed-off-by: Limin Wang <lance.lmwang at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=94968dbc1116e23cb658c09538e9bce52b63d654
---

 libavcodec/dvdsubenc.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libavcodec/dvdsubenc.c b/libavcodec/dvdsubenc.c
index fc3b7d1816..d29db7d49c 100644
--- a/libavcodec/dvdsubenc.c
+++ b/libavcodec/dvdsubenc.c
@@ -376,6 +376,12 @@ static int encode_dvd_subtitles(AVCodecContext *avctx,
     x2 = vrect.x + vrect.w - 1;
     y2 = vrect.y + vrect.h - 1;
 
+    if (x2 > avctx->width || y2 > avctx->height) {
+        av_log(avctx, AV_LOG_ERROR, "canvas_size(%d:%d) is too small(%d:%d) for render\n",
+               avctx->width, avctx->height, x2, y2);
+        ret = AVERROR(EINVAL);;
+        goto fail;
+    }
     *q++ = 0x05;
     // x1 x2 -> 6 nibbles
     *q++ = vrect.x >> 4;



More information about the ffmpeg-cvslog mailing list