--- image/decoders/nsIconDecoder.cpp +++ image/decoders/nsIconDecoder.cpp @@ -89,17 +89,18 @@ nsIconDecoder::ReadRowOfPixels(const cha { MOZ_ASSERT(aLength % 4 == 0, "Rows should contain a multiple of four bytes"); auto result = mPipe.WritePixels([&]() -> NextPixel { if (aLength == 0) { return AsVariant(WriteState::NEED_MORE_DATA); // Done with this row. } - uint32_t pixel = *reinterpret_cast(aData); + uint32_t pixel; + memcpy(&pixel, aData, 4); aData += 4; aLength -= 4; return AsVariant(pixel); }); MOZ_ASSERT(result != WriteState::FAILURE);