Generic C implementation of vf_blend performs reads and writes of 16-bit
elements, which requires the buffers to be aligned to at least 2-byte
boundary.

Also, the change fixes source buffer overrun caused by src_offset being
added to to test handling of misaligned buffers.

Fixes: #7226
---
 tests/checkasm/vf_blend.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/checkasm/vf_blend.c b/tests/checkasm/vf_blend.c
index 912f3a2c38..a7578fec39 100644
--- a/tests/checkasm/vf_blend.c
+++ b/tests/checkasm/vf_blend.c
@@ -71,7 +71,7 @@
         w = WIDTH / depth;                                                     
            \
                                                                                
            \
         for (i = 0; i < BUF_UNITS - 1; i++) {                                  
            \
-            int src_offset = i * SIZE_PER_UNIT + i; /* Test various alignments 
*/          \
+            int src_offset = i * SIZE_PER_UNIT + (BUF_UNITS - 1 - i) * depth; 
/* Test various alignments */  \
             int dst_offset = i * SIZE_PER_UNIT; /* dst must be aligned */      
            \
             randomize_buffers();                                               
            \
             call_ref(top1 + src_offset, w, bot1 + src_offset, w,               
            \
-- 
2.17.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to