aboutsummaryrefslogtreecommitdiff
path: root/src/core/cpu/kernels/CpuMulKernel.cpp
diff options
context:
space:
mode:
authorMichalis Spyrou <michalis.spyrou@arm.com>2021-05-13 13:35:30 +0100
committerSheri Zhang <sheri.zhang@arm.com>2021-05-13 17:04:43 +0100
commit5b81e847210ba60a0363444da8c378306bc659a4 (patch)
tree7e970328801113ab63cb98fee76367988e08fb2a /src/core/cpu/kernels/CpuMulKernel.cpp
parente7da8c49835fff12d0a69693373299cd6cf0659c (diff)
downloadComputeLibrary-5b81e847210ba60a0363444da8c378306bc659a4.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/CpuMulKernel.cpp')
-rw-r--r--src/core/cpu/kernels/CpuMulKernel.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/cpu/kernels/CpuMulKernel.cpp b/src/core/cpu/kernels/CpuMulKernel.cpp
index dabf656e6e..82ec322875 100644
--- a/src/core/cpu/kernels/CpuMulKernel.cpp
+++ b/src/core/cpu/kernels/CpuMulKernel.cpp
@@ -846,7 +846,7 @@ void mul_S32_S32_S32(const ITensor *src1, const ITensor *src2, ITensor *out, con
}
else
{
- uint64_t mask = (1u << n) - 1;
+ uint64_t mask = ((uint64_t)1u << n) - 1;
tmp = (tmp + static_cast<int64_t>(mask)) >> n;
}
if(is_sat)
@@ -909,7 +909,7 @@ void mul_S32_S32_S32(const ITensor *src1, const ITensor *src2, ITensor *out, con
}
else
{
- uint64_t mask = (1u << n) - 1;
+ uint64_t mask = ((uint64_t)1u << n) - 1;
tmp = (tmp + static_cast<int64_t>(mask)) >> n;
}
if(is_sat)