COMPMID-3828: fix unsigned overflow in quantized reduce mean

Change-Id: I9d3122b4858137d422548d1d417eb04a27ae9c7b
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4143
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-by: TeresaARM <teresa.charlinreyes@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/core/NEON/kernels/NEReductionOperationKernel.cpp b/src/core/NEON/kernels/NEReductionOperationKernel.cpp
index 9eebb42..9af7f2a 100644
--- a/src/core/NEON/kernels/NEReductionOperationKernel.cpp
+++ b/src/core/NEON/kernels/NEReductionOperationKernel.cpp
@@ -1459,7 +1459,7 @@
                     case ReductionOperation::MEAN_SUM:
                     {
                         int32_t res = static_cast<int32_t>(res_value);
-                        res /= in_info.dimension(axis);
+                        res /= static_cast<int32_t>(in_info.dimension(axis));
                         *reinterpret_cast<T *>(output.ptr() + x) = utils::cast::saturate_cast<T>(res);
                         break;
                     }