Chromium Code Reviews| Index: src/core/SkValidatingReadBuffer.cpp |
| diff --git a/src/core/SkValidatingReadBuffer.cpp b/src/core/SkValidatingReadBuffer.cpp |
| index 3084565ffdee978edb187affcb40ecdb302b3a4c..1be142d40f931a8d68a6bade4bc7c9cbae9242c4 100644 |
| --- a/src/core/SkValidatingReadBuffer.cpp |
| +++ b/src/core/SkValidatingReadBuffer.cpp |
| @@ -20,12 +20,13 @@ SkValidatingReadBuffer::SkValidatingReadBuffer(const void* data, size_t size) : |
| SkValidatingReadBuffer::~SkValidatingReadBuffer() { |
| } |
| -void SkValidatingReadBuffer::validate(bool isValid) { |
| +bool SkValidatingReadBuffer::validate(bool isValid) { |
| if (!fError && !isValid) { |
| // When an error is found, send the read cursor to the end of the stream |
| fReader.skip(fReader.available()); |
| fError = true; |
| } |
| + return !fError; |
|
sugoi1
2013/11/08 16:20:06
Added this to get a way to check the validity of a
|
| } |
| void SkValidatingReadBuffer::setMemory(const void* data, size_t size) { |
| @@ -121,7 +122,7 @@ void SkValidatingReadBuffer::readMatrix(SkMatrix* matrix) { |
| size_t size = 0; |
| if (!fError) { |
| size = matrix->readFromMemory(fReader.peek(), fReader.available()); |
| - this->validate((SkAlign4(size) != size) || (0 == size)); |
| + this->validate((SkAlign4(size) == size) && (0 != size)); |
|
sugoi1
2013/11/08 16:20:06
These conditions were upside down !
|
| } |
| if (!fError) { |
| (void)this->skip(size); |
| @@ -146,7 +147,7 @@ void SkValidatingReadBuffer::readRegion(SkRegion* region) { |
| size_t size = 0; |
| if (!fError) { |
| size = region->readFromMemory(fReader.peek(), fReader.available()); |
| - this->validate((SkAlign4(size) != size) || (0 == size)); |
| + this->validate((SkAlign4(size) == size) && (0 != size)); |
| } |
| if (!fError) { |
| (void)this->skip(size); |
| @@ -157,7 +158,7 @@ void SkValidatingReadBuffer::readPath(SkPath* path) { |
| size_t size = 0; |
| if (!fError) { |
| size = path->readFromMemory(fReader.peek(), fReader.available()); |
| - this->validate((SkAlign4(size) != size) || (0 == size)); |
| + this->validate((SkAlign4(size) == size) && (0 != size)); |
| } |
| if (!fError) { |
| (void)this->skip(size); |