Fix some problems detected by coverity.
authorvandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Tue, 21 Jun 2011 21:19:41 +0000 (21:19 +0000)
committervandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Tue, 21 Jun 2011 21:19:41 +0000 (21:19 +0000)
- Uninitialized class member in GSCanonicalEntry and SkPDFDocument.
- Incorrect sign extension in SkPDFFont.
- Dead code in SkPDFUtils.

CID=16262,16272,16273,16275

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

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

include/pdf/SkPDFGraphicState.h
src/pdf/SkPDFDocument.cpp
src/pdf/SkPDFFont.cpp
src/pdf/SkPDFUtils.cpp

index 49809a4..0bdd6f1 100644 (file)
@@ -86,7 +86,9 @@ private:
         explicit GSCanonicalEntry(SkPDFGraphicState* gs)
             : fGraphicState(gs),
               fPaint(&gs->fPaint) {}
-        explicit GSCanonicalEntry(const SkPaint* paint) : fPaint(paint) {}
+        explicit GSCanonicalEntry(const SkPaint* paint)
+            : fGraphicState(NULL),
+              fPaint(paint) {}
     };
 
     // This should be made a hash table if performance is a problem.
index 95370b4..fce100b 100644 (file)
@@ -36,7 +36,9 @@ void addResourcesToCatalog(int firstIndex, bool firstPage,
     }
 }
 
-SkPDFDocument::SkPDFDocument() : fXRefFileOffset(0) {
+SkPDFDocument::SkPDFDocument()
+        : fXRefFileOffset(0),
+          fSecondPageFirstResourceIndex(0) {
     fDocCatalog = new SkPDFDict("Catalog");
     fDocCatalog->unref();  // SkRefPtr and new both took a reference.
     fCatalog.addObject(fDocCatalog.get(), true);
index 277ed12..f570a1f 100755 (executable)
@@ -47,7 +47,8 @@ bool parsePFBSection(const uint8_t** src, size_t* len, int sectionType,
     if (*len < 6)
         return false;
 
-    *size = buf[2] | (buf[3] << 8) | (buf[4] << 16) | (buf[5] << 24);
+    *size = (size_t)buf[2] | ((size_t)buf[3] << 8) | ((size_t)buf[4] << 16) |
+            ((size_t)buf[5] << 24);
     size_t consumed = *size + 6;
     if (consumed > *len)
         return false;
index a838427..fcad8a6 100644 (file)
@@ -133,8 +133,6 @@ void SkPDFUtils::EmitPath(const SkPath& path, SkWStream* content) {
             case SkPath::kClose_Verb:
                 ClosePath(content);
                 break;
-            case SkPath::kDone_Verb:
-                break;
             default:
                 SkASSERT(false);
                 break;