[FFmpeg-cvslog] avfilter/vf_swaprect: assert that rectangles are within memory

Michael Niedermayer git at videolan.org
Sun Apr 14 23:59:27 EEST 2024


ffmpeg | branch: release/3.4 | Michael Niedermayer <michael at niedermayer.cc> | Fri Dec 22 22:25:25 2023 +0100| [a01849d11e5cc12135aab57ad8d296434e8a9ab6] | committer: Michael Niedermayer

avfilter/vf_swaprect: assert that rectangles are within memory

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
(cherry picked from commit 9d1ba698d2bed1d4bed731b3be62e84d72c35476)
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

 libavfilter/vf_swaprect.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavfilter/vf_swaprect.c b/libavfilter/vf_swaprect.c
index f96f897818..c9da2806bd 100644
--- a/libavfilter/vf_swaprect.c
+++ b/libavfilter/vf_swaprect.c
@@ -18,6 +18,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "libavutil/avassert.h"
 #include "libavutil/avstring.h"
 #include "libavutil/eval.h"
 #include "libavutil/imgutils.h"
@@ -179,6 +180,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
     y2[1] = y2[2] = FF_CEIL_RSHIFT(y2[0], s->desc->log2_chroma_h);
     y2[0] = y2[3] = y2[0];
 
+
+    av_assert0(FFMAX(x1[1], x2[1]) + pw[1] <= lw[1]);
+    av_assert0(FFMAX(y1[1], y2[1]) + ph[1] <= lh[1]);
+
     for (p = 0; p < s->nb_planes; p++) {
         if (ph[p] == ah[p] && pw[p] == aw[p]) {
             uint8_t *src = in->data[p] + y1[p] * in->linesize[p] + x1[p] * s->pixsteps[p];



More information about the ffmpeg-cvslog mailing list