Fix undefined integer behavior due to promotion rules

This commit is contained in:
Nils O. Selåsdal
2013-11-16 04:35:34 +01:00
parent 9c440723e8
commit 0679a4a2ad
+2 -2
View File
@@ -91,7 +91,7 @@ static UC_INLINE uint32_t uc_unpack_32_le(const uint8_t *r)
v = r[0]; v = r[0];
v |= r[1] << 8; v |= r[1] << 8;
v |= r[2] << 16; v |= r[2] << 16;
v |= r[3] << 24; v |= (uint32_t)r[3] << 24;
return v; return v;
} }
@@ -204,7 +204,7 @@ static UC_INLINE uint32_t uc_unpack_32_be(const uint8_t *r)
{ {
uint32_t v; uint32_t v;
v = r[0] << 24; v = (uint32_t)r[0] << 24;
v |= r[1] << 16; v |= r[1] << 16;
v |= r[2] << 8; v |= r[2] << 8;
v |= r[3]; v |= r[3];