utils/GetLE32: correct uint32 promotion
avoids undefined behavior when shifting an int by 24.
BUG=278
Change-Id: I7b5ad96715002c8f425d81789bb75f22c176ab76
diff --git a/src/utils/utils.h b/src/utils/utils.h
index df83b12..fcdb7e1 100644
--- a/src/utils/utils.h
+++ b/src/utils/utils.h
@@ -62,7 +62,7 @@
}
static WEBP_INLINE uint32_t GetLE32(const uint8_t* const data) {
- return (uint32_t)GetLE16(data) | (GetLE16(data + 2) << 16);
+ return GetLE16(data) | ((uint32_t)GetLE16(data + 2) << 16);
}
// Store 16, 24 or 32 bits in little-endian order.