gfx/ots/ots-fix-sparc64.patch
author Ms2ger <ms2ger@gmail.com>
Sun, 17 Mar 2013 08:55:16 +0100
changeset 125034 f5da57075370a182557a904a3c46813ead070691
parent 94719 7ffffcb45b9402c0b2cb12e8fdd0d8293a7e48fb
permissions -rw-r--r--
Bug 845374 - Part r: Stop including nsTArray.h in nsReadableUtils.h; r=khuey

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_,