| Index: src/core/SkValidatingReadBuffer.cpp | 
| diff --git a/src/core/SkValidatingReadBuffer.cpp b/src/core/SkValidatingReadBuffer.cpp | 
| index 0ffe650787fe7b698ad0dc17b32568517e28dd1f..a0e1a4179f2cd18ff431203aa8b1091102a68ec7 100644 | 
| --- a/src/core/SkValidatingReadBuffer.cpp | 
| +++ b/src/core/SkValidatingReadBuffer.cpp | 
| @@ -44,7 +44,12 @@ const void* SkValidatingReadBuffer::skip(size_t size) { | 
| // true, which the caller should check to see if an error occurred during the read operation. | 
|  | 
| bool SkValidatingReadBuffer::readBool() { | 
| -    return this->readInt() != 0; | 
| +    uint32_t value = this->readInt(); | 
| +    // Boolean value should be either 0 or 1 | 
| +    if (value & ~1) { | 
| +        fError = true; | 
| +    } | 
| +    return value != 0; | 
| } | 
|  | 
| SkColor SkValidatingReadBuffer::readColor() { | 
|  |