In a code, we were doing (255 << 24) which causes integer overflow and positive number gets converted to negative number. We were then assigning this to an unsigned integer in multiple places, which does conversion in a different way.
For example: If we do unsigned int x = -20, UINT_MAX + 1 - 20 is assigned to x.
I do not think that's what is intended when we do with ktrans = (255 << 24). Fix instances of that, by using an unsigned int literal over int literal.
This is in a vein similar to https://github.com/OSGeo/grass/pull/4635.
In a code, we were doing
(255 << 24)
which causes integer overflow and positive number gets converted to negative number. We were then assigning this to an unsigned integer in multiple places, which does conversion in a different way.For example: If we do
unsigned int x = -20
,UINT_MAX + 1 - 20
is assigned to x.I do not think that's what is intended when we do with
ktrans = (255 << 24)
. Fix instances of that, by using anunsigned int literal
overint literal
.This issue was found using cppcheck tool.