| Index: src/effects/SkLightingImageFilter.cpp
|
| diff --git a/src/effects/SkLightingImageFilter.cpp b/src/effects/SkLightingImageFilter.cpp
|
| index 999b8f8bfa2863e54e71adfc628fc475f2e71eb5..54e920cdc496a13714adb717cf17c3f5d05f1b56 100644
|
| --- a/src/effects/SkLightingImageFilter.cpp
|
| +++ b/src/effects/SkLightingImageFilter.cpp
|
| @@ -249,6 +249,9 @@ SkPoint3 readPoint3(SkFlattenableReadBuffer& buffer) {
|
| point.fX = buffer.readScalar();
|
| point.fY = buffer.readScalar();
|
| point.fZ = buffer.readScalar();
|
| + buffer.validateData(SkScalarIsFinite(point.fX) &&
|
| + SkScalarIsFinite(point.fY) &&
|
| + SkScalarIsFinite(point.fZ));
|
| return point;
|
| };
|
|
|
| @@ -741,6 +744,10 @@ protected:
|
| fCosInnerConeAngle = buffer.readScalar();
|
| fConeScale = buffer.readScalar();
|
| fS = readPoint3(buffer);
|
| + buffer.validateData(SkScalarIsFinite(fSpecularExponent) &&
|
| + SkScalarIsFinite(fCosOuterConeAngle) &&
|
| + SkScalarIsFinite(fCosInnerConeAngle) &&
|
| + SkScalarIsFinite(fConeScale));
|
| }
|
| SkSpotLight(const SkPoint3& location, const SkPoint3& target, SkScalar specularExponent, SkScalar cosOuterConeAngle, SkScalar cosInnerConeAngle, SkScalar coneScale, const SkPoint3& s, const SkPoint3& color)
|
| : INHERITED(color),
|
| @@ -862,6 +869,7 @@ SkLightingImageFilter::SkLightingImageFilter(SkFlattenableReadBuffer& buffer)
|
| {
|
| fLight = buffer.readFlattenableT<SkLight>();
|
| fSurfaceScale = buffer.readScalar();
|
| + buffer.validateData(SkScalarIsFinite(fSurfaceScale));
|
| }
|
|
|
| void SkLightingImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
|
| @@ -882,6 +890,7 @@ SkDiffuseLightingImageFilter::SkDiffuseLightingImageFilter(SkFlattenableReadBuff
|
| : INHERITED(buffer)
|
| {
|
| fKD = buffer.readScalar();
|
| + buffer.validateData(SkScalarIsFinite(fKD));
|
| }
|
|
|
| void SkDiffuseLightingImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
|
| @@ -959,6 +968,8 @@ SkSpecularLightingImageFilter::SkSpecularLightingImageFilter(SkFlattenableReadBu
|
| {
|
| fKS = buffer.readScalar();
|
| fShininess = buffer.readScalar();
|
| + buffer.validateData(SkScalarIsFinite(fKS) &&
|
| + SkScalarIsFinite(fShininess));
|
| }
|
|
|
| void SkSpecularLightingImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
|
|
|