| Index: src/core/SkValidatingReadBuffer.cpp
|
| diff --git a/src/core/SkValidatingReadBuffer.cpp b/src/core/SkValidatingReadBuffer.cpp
|
| index ae7a83684bc818dcb267f9466cb4002804ed0f07..8db2c68b9aeeeae0e1492ab37cda59e77bd99c60 100644
|
| --- a/src/core/SkValidatingReadBuffer.cpp
|
| +++ b/src/core/SkValidatingReadBuffer.cpp
|
| @@ -213,10 +213,10 @@ uint32_t SkValidatingReadBuffer::getArrayCount() {
|
| void SkValidatingReadBuffer::readBitmap(SkBitmap* bitmap) {
|
| const int width = this->readInt();
|
| const int height = this->readInt();
|
| + const bool useBitmapHeap = this->readBool();
|
| const size_t length = this->readUInt();
|
| // A size of zero means the SkBitmap was simply flattened.
|
| - this->validate(length == 0);
|
| - if (fError) {
|
| + if (!this->validate(!useBitmapHeap && (0 == length))) {
|
| return;
|
| }
|
| bitmap->unflatten(*this);
|
|
|