Handle possibly NULL deref in comparison
authorvandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Tue, 21 Jun 2011 20:45:51 +0000 (20:45 +0000)
committervandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Tue, 21 Jun 2011 20:45:51 +0000 (20:45 +0000)
Committed on behalf of groby@chromium.org

OCL=http://codereview.appspot.com/4633058/
CID=16790,16789

Review URL: http://codereview.appspot.com/4654049

git-svn-id: http://skia.googlecode.com/svn/trunk@1666 2bbb7eff-a529-9590-31e7-b0007b416f81

src/core/SkClipStack.cpp

index 4ad4d41..5061ac3 100644 (file)
@@ -184,8 +184,10 @@ SkClipStack::B2FIter::B2FIter() {
 bool operator==(const SkClipStack::B2FIter::Clip& a,
                const SkClipStack::B2FIter::Clip& b) {
     return a.fOp == b.fOp &&
-           ((a.fRect == NULL && b.fRect == NULL) || *a.fRect == *b.fRect) &&
-           ((a.fPath == NULL && b.fPath == NULL) || *a.fPath == *b.fPath);
+           ((a.fRect == NULL && b.fRect == NULL) ||
+               (a.fRect != NULL && b.fRect != NULL && *a.fRect == *b.fRect)) &&
+           ((a.fPath == NULL && b.fPath == NULL) ||
+               (a.fPath != NULL && b.fPath != NULL && *a.fPath == *b.fPath));
 }
 
 bool operator!=(const SkClipStack::B2FIter::Clip& a,