Message ID | 20240521110453.88641-1-martin@martin.st |
---|---|
State | Accepted |
Commit | 6093367147b72c0f3c78a61597a3452f7f0e510e |
Headers | show |
Series | [FFmpeg-devel] checkasm: h264dsp: Avoid out of buffer writes when benchmarking | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
Le 21 mai 2024 14:04:53 GMT+03:00, "Martin Storsjö" <martin@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
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)