Index: src/effects/SkMergeImageFilter.cpp |
diff --git a/src/effects/SkMergeImageFilter.cpp b/src/effects/SkMergeImageFilter.cpp |
index 0c47c91aff21d73e4da6738682da3d2f7d044657..0f2f5485637beb6ab5b3aa2b951588ce8e458d34 100755 |
--- a/src/effects/SkMergeImageFilter.cpp |
+++ b/src/effects/SkMergeImageFilter.cpp |
@@ -9,6 +9,7 @@ |
#include "SkCanvas.h" |
#include "SkDevice.h" |
#include "SkFlattenableBuffers.h" |
+#include "SkValidationUtils.h" |
/////////////////////////////////////////////////////////////////////////////// |
@@ -157,8 +158,12 @@ SkMergeImageFilter::SkMergeImageFilter(SkFlattenableReadBuffer& buffer) : INHERI |
bool hasModes = buffer.readBool(); |
if (hasModes) { |
this->initAllocModes(); |
- SkASSERT(buffer.getArrayCount() == countInputs() * sizeof(fModes[0])); |
+ int nbInputs = countInputs(); |
+ SkASSERT(buffer.getArrayCount() == nbInputs * sizeof(fModes[0])); |
Stephen White
2013/09/09 17:43:00
Should this also be validated, or is asserting goo
|
buffer.readByteArray(fModes); |
+ for (int i = 0; i < nbInputs; ++i) { |
+ buffer.validateData(SkIsValidMode((SkXfermode::Mode)fModes[i])); |
+ } |
} else { |
fModes = 0; |
} |