diff options
author | Pablo Tello <pablo.tello@arm.com> | 2018-08-07 11:23:54 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:54:54 +0000 |
commit | d8b03dd029261091e34dd8831d546299c60ce094 (patch) | |
tree | ced5c96940aa018f0a5a5a3a5fb0769d8dadcd1e /src/core/CL/kernels/CLWarpAffineKernel.cpp | |
parent | 7da6dcfc199580828dbedfed15afdcc7a789192c (diff) | |
download | ComputeLibrary-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/CL/kernels/CLWarpAffineKernel.cpp')
-rw-r--r-- | src/core/CL/kernels/CLWarpAffineKernel.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/core/CL/kernels/CLWarpAffineKernel.cpp b/src/core/CL/kernels/CLWarpAffineKernel.cpp index be095f2c34..e0e09400af 100644 --- a/src/core/CL/kernels/CLWarpAffineKernel.cpp +++ b/src/core/CL/kernels/CLWarpAffineKernel.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -42,9 +42,9 @@ using namespace arm_compute; namespace { -void options_add_matrix(std::set<std::string> &options, const float *matrix, size_t size) +void options_add_matrix(std::set<std::string> &options, const std::array<float, 9> &matrix) { - for(size_t i = 0; i < size; ++i) + for(size_t i = 0; i < 6; ++i) { std::stringstream mat_str; mat_str << "-DMAT" << i << "=" << matrix[i] << " "; @@ -58,7 +58,7 @@ BorderSize CLWarpAffineKernel::border_size() const return BorderSize(1); } -void CLWarpAffineKernel::configure(const ICLTensor *input, ICLTensor *output, const float *matrix, InterpolationPolicy policy) +void CLWarpAffineKernel::configure(const ICLTensor *input, ICLTensor *output, const std::array<float, 9> &matrix, InterpolationPolicy policy) { 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); @@ -69,7 +69,7 @@ void CLWarpAffineKernel::configure(const ICLTensor *input, ICLTensor *output, co // Create build options std::set<std::string> options; - options_add_matrix(options, matrix, 6); + options_add_matrix(options, matrix); options.emplace(("-DDATA_TYPE=" + get_cl_type_from_data_type(input->info()->data_type()))); // Create kernel |