From 70ddabcd07e79cdc5409e286aaf4aaea5b202b7a Mon Sep 17 00:00:00 2001 From: Michele Di Giorgio Date: Thu, 29 Oct 2020 15:32:45 +0000 Subject: COMPMID-3926: Floor CTS failing in Neon Depending n the value of `len`, the left-over loop might end up writing/reading out-of-bounds, therefore corrupting the memory. Change-Id: I1b0bb300f3e5ea668b585266e1aa6af7f93a5d1e Signed-off-by: Michele Di Giorgio Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4290 Tested-by: Arm Jenkins Reviewed-by: Manuel Bottini Reviewed-by: Georgios Pinitas Comments-Addressed: Arm Jenkins --- src/core/NEON/kernels/floor/impl/fp16_neon_floor.cpp | 2 +- src/core/NEON/kernels/floor/impl/fp32_neon_floor.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/NEON/kernels/floor/impl/fp16_neon_floor.cpp b/src/core/NEON/kernels/floor/impl/fp16_neon_floor.cpp index 3222fa926a..f0d9efb050 100644 --- a/src/core/NEON/kernels/floor/impl/fp16_neon_floor.cpp +++ b/src/core/NEON/kernels/floor/impl/fp16_neon_floor.cpp @@ -53,7 +53,7 @@ void fp16_neon_floor(const void *src, void *dst, int len) pdst += step; } - for(; len >= 0; --len) + for(; len > 0; --len) { *pdst++ = std::floor(*psrc++); } diff --git a/src/core/NEON/kernels/floor/impl/fp32_neon_floor.cpp b/src/core/NEON/kernels/floor/impl/fp32_neon_floor.cpp index dba61e1e8c..7a99988e02 100644 --- a/src/core/NEON/kernels/floor/impl/fp32_neon_floor.cpp +++ b/src/core/NEON/kernels/floor/impl/fp32_neon_floor.cpp @@ -51,7 +51,7 @@ void fp32_neon_floor(const void *src, void *dst, int len) pdst += step; } - for(; len >= 0; --len) + for(; len > 0; --len) { *pdst++ = std::floor(*psrc++); } -- cgit v1.2.1