diff options
author | Michalis Spyrou <michalis.spyrou@arm.com> | 2019-07-25 17:58:30 +0100 |
---|---|---|
committer | Georgios Pinitas <georgios.pinitas@arm.com> | 2019-07-26 11:59:05 +0000 |
commit | c050e0ce189585599b2b70c20aad089e58f657ff (patch) | |
tree | fb1dbfd312fe6d19e515a934a513f71dc5adf9bc | |
parent | cfa2bba98169cb5ab1945462514be1b6badf7d98 (diff) | |
download | ComputeLibrary-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.cpp | 2 | ||||
-rw-r--r-- | tests/validation/NEON/Scale.cpp | 2 |
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; } |