diff -r a42e6992897c -r d22e9274fcad src/types/IntegerDataTypeReader.h --- a/src/types/IntegerDataTypeReader.h Sat Nov 27 23:15:16 2021 +0100 +++ b/src/types/IntegerDataTypeReader.h Mon Nov 29 19:30:52 2021 +0100 @@ -56,6 +56,7 @@ } integer_t readValue(std::istream &input) override { + static const integer_t ZERO = 0; integer_t value = 0; integer_t shift = 0; octet_t octet; @@ -66,7 +67,7 @@ } while (octet >= 128); if ((shift < (sizeof (integer_t) * 8)) && (octet & 0x40)) - value |= (~0 << shift); + value |= (~ZERO << shift); return value; }