mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-31 06:05:44 +00:00
27 lines
928 B
Diff
27 lines
928 B
Diff
diff --git a/gfx/ots/include/opentype-sanitiser.h b/gfx/ots/include/opentype-sanitiser.h
|
|
--- a/gfx/ots/include/opentype-sanitiser.h
|
|
+++ b/gfx/ots/include/opentype-sanitiser.h
|
|
@@ -83,18 +83,20 @@ class OTSStream {
|
|
if (chksum_buffer_offset_ == 4) {
|
|
uint32_t chksum;
|
|
std::memcpy(&chksum, chksum_buffer_, 4);
|
|
chksum_ += ntohl(chksum);
|
|
chksum_buffer_offset_ = 0;
|
|
}
|
|
|
|
while (length >= 4) {
|
|
- chksum_ += ntohl(*reinterpret_cast<const uint32_t*>(
|
|
- reinterpret_cast<const uint8_t*>(data) + offset));
|
|
+ uint32_t tmp;
|
|
+ std::memcpy(&tmp, reinterpret_cast<const uint8_t *>(data) + offset,
|
|
+ sizeof(uint32_t));
|
|
+ chksum_ += ntohl(tmp);
|
|
length -= 4;
|
|
offset += 4;
|
|
}
|
|
|
|
if (length) {
|
|
if (chksum_buffer_offset_ != 0) return false; // not reached
|
|
if (length > 4) return false; // not reached
|
|
std::memcpy(chksum_buffer_,
|