Chromium Code Reviews| Index: src/core/SkImageFilter.cpp |
| diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp |
| index aadf9040b0403ae1ef8d256e73f6f1aad8d2c5e5..d6b4fcc632e34eb3f50ce00b871ffe74fe51a8ce 100644 |
| --- a/src/core/SkImageFilter.cpp |
| +++ b/src/core/SkImageFilter.cpp |
| @@ -63,10 +63,14 @@ SkImageFilter::SkImageFilter(int inputCount, SkFlattenableReadBuffer& buffer) { |
| } else { |
| fInputs[i] = NULL; |
| } |
| + if (!buffer.validate(true)) { |
| + fInputCount = i; // Do not use fInputs past that point in the destructor |
| + break; |
| + } |
| } |
| SkRect rect; |
| buffer.readRect(&rect); |
| - if (buffer.validate(SkIsValidRect(rect))) { |
| + if (buffer.validate(true) && buffer.validate(SkIsValidRect(rect))) { |
|
sugoi1
2013/12/05 18:45:47
This extra validate(true) makes sure that we don't
Stephen White
2013/12/05 20:48:22
This is ok, but I'd still prefer we had some kind
|
| uint32_t flags = buffer.readUInt(); |
| fCropRect = CropRect(rect, flags); |
| } |