aboutsummaryrefslogtreecommitdiff
path: root/src/core/NEON/kernels/NEWarpKernel.cpp
diff options
context:
space:
mode:
authorPablo Tello <pablo.tello@arm.com>2018-08-07 11:23:54 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:54:54 +0000
commitd8b03dd029261091e34dd8831d546299c60ce094 (patch)
treeced5c96940aa018f0a5a5a3a5fb0769d8dadcd1e /src/core/NEON/kernels/NEWarpKernel.cpp
parent7da6dcfc199580828dbedfed15afdcc7a789192c (diff)
downloadComputeLibrary-d8b03dd029261091e34dd8831d546299c60ce094.tar.gz
MLCE-13: Sanitizing matrix argument in the Warp.
This changes help to prevent errors like passing a matrix with less elements than required into the warp functions. Change-Id: I863f933a5e0568258717cffed3a20788d3d03083 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/143044 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'src/core/NEON/kernels/NEWarpKernel.cpp')
-rw-r--r--src/core/NEON/kernels/NEWarpKernel.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/core/NEON/kernels/NEWarpKernel.cpp b/src/core/NEON/kernels/NEWarpKernel.cpp
index 0fa8278fe3..d04bc07d3a 100644
--- a/src/core/NEON/kernels/NEWarpKernel.cpp
+++ b/src/core/NEON/kernels/NEWarpKernel.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -45,7 +45,7 @@ inline uint8_t nearest_interpolation(const uint8_t *in_ptr, int x, int y, size_t
} // namespace
INEWarpKernel::INEWarpKernel()
- : _func(nullptr), _input(nullptr), _output(nullptr), _constant_border_value(0), _matrix(nullptr)
+ : _func(nullptr), _input(nullptr), _output(nullptr), _constant_border_value(0), _matrix()
{
}
@@ -64,11 +64,10 @@ void INEWarpKernel::run(const Window &window, const ThreadInfo &info)
(this->*_func)(window);
}
-void INEWarpKernel::configure(const ITensor *input, ITensor *output, const float *matrix, BorderMode border_mode, uint8_t constant_border_value)
+void INEWarpKernel::configure(const ITensor *input, ITensor *output, const std::array<float, 9> &matrix, BorderMode border_mode, uint8_t constant_border_value)
{
ARM_COMPUTE_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(input, 1, DataType::U8);
ARM_COMPUTE_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(output, 1, DataType::U8);
- ARM_COMPUTE_ERROR_ON(nullptr == matrix);
_matrix = matrix;
_constant_border_value = constant_border_value;