aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichalis Spyrou <michalis.spyrou@arm.com>2019-07-25 17:58:30 +0100
committerGeorgios Pinitas <georgios.pinitas@arm.com>2019-07-26 11:59:05 +0000
commitc050e0ce189585599b2b70c20aad089e58f657ff (patch)
treefb1dbfd312fe6d19e515a934a513f71dc5adf9bc
parentcfa2bba98169cb5ab1945462514be1b6badf7d98 (diff)
downloadComputeLibrary-c050e0ce189585599b2b70c20aad089e58f657ff.tar.gz
COMPMID-2490: (Nightly) Valgrind error in NEON Scale
Border was not added in the case of UNDEFINED border mode. This resulted in reading memory out of bounds. Change-Id: I0f2ceceb0c3269ff560185d192a79bfb422c64ff Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com> Reviewed-on: https://review.mlplatform.org/c/1626 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
-rw-r--r--src/core/NEON/kernels/NEScaleKernel.cpp2
-rw-r--r--tests/validation/NEON/Scale.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/core/NEON/kernels/NEScaleKernel.cpp b/src/core/NEON/kernels/NEScaleKernel.cpp
index 8e9a34637b..a2a44fca18 100644
--- a/src/core/NEON/kernels/NEScaleKernel.cpp
+++ b/src/core/NEON/kernels/NEScaleKernel.cpp
@@ -377,7 +377,7 @@ void NEScaleKernel::configure(const ITensor *input, const ITensor *dx, const ITe
// Add constant border only on top in case of NHWC layout
if(data_layout == DataLayout::NHWC)
{
- _border_size = (border_mode == BorderMode::CONSTANT && policy == InterpolationPolicy::BILINEAR && use_padding) ? BorderSize(1, 0, 0, 0) : BorderSize(0);
+ _border_size = (border_mode != BorderMode::REPLICATE && policy == InterpolationPolicy::BILINEAR && use_padding) ? BorderSize(1, 0, 0, 0) : BorderSize(0);
}
// Area interpolation behaves as Nearest Neighbour in case of up-sampling
diff --git a/tests/validation/NEON/Scale.cpp b/tests/validation/NEON/Scale.cpp
index c05b8ac03b..d419c62651 100644
--- a/tests/validation/NEON/Scale.cpp
+++ b/tests/validation/NEON/Scale.cpp
@@ -183,7 +183,7 @@ DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(combi
if(data_layout == DataLayout::NHWC)
{
read_padding = calculator.required_padding(PaddingCalculator::Option::EXCLUDE_BORDER);
- if(border_mode == BorderMode::CONSTANT && policy == InterpolationPolicy::BILINEAR)
+ if(border_mode != BorderMode::REPLICATE && policy == InterpolationPolicy::BILINEAR)
{
read_padding.top = 1;
}