pdfviewer: debug code for crash

Review URL: https://codereview.chromium.org/22269002

git-svn-id: http://skia.googlecode.com/svn/trunk@10548 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/PdfViewer/SkPdfBasics.h b/experimental/PdfViewer/SkPdfBasics.h
index 662e745..7016339 100644
--- a/experimental/PdfViewer/SkPdfBasics.h
+++ b/experimental/PdfViewer/SkPdfBasics.h
@@ -350,6 +350,7 @@
         fDashPhase    = 0;
         fBlendModesLength = 1;
         fBlendModes[0] = SkXfermode::kSrc_Mode;  // PDF: Normal Blend mode
+        fSMask        = NULL;
     }
 
     // TODO(edisonn): make two functons instead, stroking and non stoking, avoid branching
diff --git a/experimental/PdfViewer/SkPdfRenderer.cpp b/experimental/PdfViewer/SkPdfRenderer.cpp
index 50b48a0..bb2049e 100644
--- a/experimental/PdfViewer/SkPdfRenderer.cpp
+++ b/experimental/PdfViewer/SkPdfRenderer.cpp
@@ -265,7 +265,7 @@
             const SkClipStack::Element* elem;
             double y = 0;
             int total = 0;
-            while (elem = iter.next()) {
+            while ((elem = iter.next()) != NULL) {
                 total++;
                 y += 30;
 
diff --git a/experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp b/experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp
index 637eb4d..a888138 100644
--- a/experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp
+++ b/experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp
@@ -929,6 +929,11 @@
 }
 
 bool SkPdfNativeTokenizer::readTokenCore(PdfToken* token) {
+    SkPdfObject obj;
+#ifdef PDF_TRACE_READ_TOKEN
+    static int read_op = 0;
+    int last;
+#endif
     token->fKeyword = NULL;
     token->fObject = NULL;
 
@@ -937,8 +942,18 @@
         return false;
     }
 
-    SkPdfObject obj;
+#ifdef PDF_TRACE_READ_TOKEN
+    printf("BEFORE the read: %i\n", read_op);
+    last = read_op;
+#endif
+
     fUncompressedStream = nextObject(0, fUncompressedStream, fUncompressedStreamEnd, &obj, fAllocator, fDoc);
+#ifdef PDF_TRACE_READ_TOKEN
+    printf("BEFORE the read: %i\n", read_op);
+    if (last != read_op) {
+        printf("break; // memory override");
+    }
+#endif
 
     // If it is a keyword, we will only get the pointer of the string
     if (obj.type() == SkPdfObject::kKeyword_PdfObjectType) {
@@ -953,7 +968,6 @@
     }
 
 #ifdef PDF_TRACE_READ_TOKEN
-    static int read_op = 0;
     read_op++;
 #if 0
     if (548 == read_op) {