[FFmpeg-devel] [PATCH] checkasm: h264dsp: Avoid out of buffer writes when benchmarking

Rémi Denis-Courmont remi at remlab.net
Tue May 21 14:42:18 EEST 2024



Le 21 mai 2024 14:04:53 GMT+03:00, "Martin Storsjö" <martin at martin.st> a écrit :
>The loop filters can write before the pointer given to them;
>the actual test invocations correctly used an offset, while
>the benchmark calls were lacking an offset. Therefore, when
>running with benchmarking, these tests could have spurious
>failures.
>---
> tests/checkasm/h264dsp.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/tests/checkasm/h264dsp.c b/tests/checkasm/h264dsp.c
>index 0cc1f32740..67b8dce53c 100644
>--- a/tests/checkasm/h264dsp.c
>+++ b/tests/checkasm/h264dsp.c
>@@ -362,7 +362,7 @@ static void check_loop_filter(void)
>                                 tc0[j][0], tc0[j][1], tc0[j][2], tc0[j][3]); \
>                         fail();                                         \
>                     }                                                   \
>-                    bench_new(dst1, 32, alphas[j], betas[j], tc0[j]);   \
>+                    bench_new(dst1 + off, 32, alphas[j], betas[j], tc0[j]);\
>                 }                                                       \
>             }                                                           \
>         } while (0)
>@@ -421,7 +421,7 @@ static void check_loop_filter_intra(void)
>                                 j, alphas[j], betas[j]);                \
>                         fail();                                         \
>                     }                                                   \
>-                    bench_new(dst1, 32, alphas[j], betas[j]);           \
>+                    bench_new(dst1 + off, 32, alphas[j], betas[j]);     \
>                 }                                                       \
>             }                                                           \
>         } while (0)

LGTM


More information about the ffmpeg-devel mailing list