Chromium Code Reviews| Index: src/core/SkOrderedReadBuffer.cpp |
| diff --git a/src/core/SkOrderedReadBuffer.cpp b/src/core/SkOrderedReadBuffer.cpp |
| index 9d991949084e5b9586d57baeaadf72363eb3e3ef..d535fefc446fa87688eaae1002e8d85cb479babd 100644 |
| --- a/src/core/SkOrderedReadBuffer.cpp |
| +++ b/src/core/SkOrderedReadBuffer.cpp |
| @@ -299,7 +299,12 @@ SkFlattenable* SkOrderedReadBuffer::readFlattenable() { |
| uint32_t sizeRecorded = fReader.readU32(); |
| if (factory) { |
| uint32_t offset = fReader.offset(); |
| + fError = false; // Reset error state before calling factory function |
| obj = (*factory)(*this); |
| + if (fError) { |
|
scroggo
2013/08/21 23:56:00
From here, do we assume the rest of this stream is
sugoi1
2013/08/22 14:26:23
For now, since we don't what kind of error we hit,
|
| + delete obj; |
| + obj = NULL; |
| + } |
| // check that we read the amount we expected |
| uint32_t sizeRead = fReader.offset() - offset; |
| if (sizeRecorded != sizeRead) { |