diff options
author | Michalis Spyrou <michalis.spyrou@arm.com> | 2021-05-13 13:35:30 +0100 |
---|---|---|
committer | Michalis Spyrou <michalis.spyrou@arm.com> | 2021-05-13 15:00:24 +0000 |
commit | 7f8caf770417574a874d53733718f1b7052456fe (patch) | |
tree | 55dd025efb62a0b8692af7f40dea81870a5b7f99 /src/core/cpu/kernels/CpuScaleKernel.cpp | |
parent | e57e11d66b8f1e49eff180bc65f877bf88c4c4cf (diff) | |
download | ComputeLibrary-7f8caf770417574a874d53733718f1b7052456fe.tar.gz |
Fix integer overflow and null dereference
Resolves: COMPMID-4527
Change-Id: If038d2477d8898d3ee307fe58301fb0b16b64c02
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5640
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/cpu/kernels/CpuScaleKernel.cpp')
-rw-r--r-- | src/core/cpu/kernels/CpuScaleKernel.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/cpu/kernels/CpuScaleKernel.cpp b/src/core/cpu/kernels/CpuScaleKernel.cpp index c533e9ab8a..ed7517111f 100644 --- a/src/core/cpu/kernels/CpuScaleKernel.cpp +++ b/src/core/cpu/kernels/CpuScaleKernel.cpp @@ -178,8 +178,11 @@ Status validate_arguments(const ITensorInfo *src, const ITensorInfo *dx, const I if(info.interpolation_policy == InterpolationPolicy::BILINEAR) { ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(offsets, 1, DataType::S32); - ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(dx, 1, DataType::F32); - ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(dy, 1, DataType::F32); + if(dx != nullptr && dy != nullptr) + { + ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(dx, 1, DataType::F32); + ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(dy, 1, DataType::F32); + } } ARM_COMPUTE_RETURN_ERROR_ON(info.align_corners && !scale_utils::is_align_corners_allowed_sampling_policy(info.sampling_policy)); |