2
0
Эх сурвалжийг харах

Fix deserialization of int64 values

Ivan Savenko 10 сар өмнө
parent
commit
ccb42deba4

+ 2 - 2
lib/serializer/BinaryDeserializer.h

@@ -131,12 +131,12 @@ public:
 
 			if ((byteValue & 0x80) != 0)
 			{
-				valueUnsigned |= (byteValue & 0x7f) << offset;
+				valueUnsigned |= static_cast<uint64_t>(byteValue & 0x7f) << offset;
 				offset += 7;
 			}
 			else
 			{
-				valueUnsigned |= (byteValue & 0x3f) << offset;
+				valueUnsigned |= static_cast<uint64_t>(byteValue & 0x3f) << offset;
 				bool isNegative = (byteValue & 0x40) != 0;
 				if (isNegative)
 					return -static_cast<int64_t>(valueUnsigned);