[FFmpeg-devel] [PATCH] tests/checkasm/sw_rgb: don't write random data past the end of the buffer

Martin Storsjö martin at martin.st
Thu Sep 12 11:30:03 EEST 2024


On Thu, 12 Sep 2024, Ramiro Polla wrote:

> On Thu, Sep 12, 2024 at 8:44 AM James Almer <jamrial at gmail.com> wrote:
>>
>> Should fix fate-checkasm-sw_rgb under gcc-ubsan.
>>
>> Signed-off-by: James Almer <jamrial at gmail.com>
>> ---
>>  tests/checkasm/sw_rgb.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tests/checkasm/sw_rgb.c b/tests/checkasm/sw_rgb.c
>> index af9434073a..cdd43df8ba 100644
>> --- a/tests/checkasm/sw_rgb.c
>> +++ b/tests/checkasm/sw_rgb.c
>> @@ -287,7 +287,7 @@ static void check_deinterleave_bytes(void)
>>                         int width, int height, int srcStride,
>>                         int dst1Stride, int dst2Stride);
>>
>> -    randomize_buffers(src, 2*MAX_STRIDE*MAX_HEIGHT+2);
>> +    randomize_buffers(src, 2*MAX_STRIDE*MAX_HEIGHT);
>
> Thank you for spotting it.
>
> The issue is that randomize_buffers() writes 4 bytes at a time. I
> think the proper fix is to change randomize_buffers() to not write
> past the end of the buffer. It would be even better to move
> randomize_buffers() to checkasm.h or checkasm.c so it doesn't have to
> be copied around so many times.

Maybe, but part of the point of having randomize_buffers() and similar be 
local to each test, is because the exact procedure for writing and the 
right kind of random differs for each test/function category.

// Martin


More information about the ffmpeg-devel mailing list