Fix Coverity reports. (Mostly use of uninitialised values.)
authorvandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 28 Mar 2012 21:03:22 +0000 (21:03 +0000)
committervandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 28 Mar 2012 21:03:22 +0000 (21:03 +0000)
CID=537,103419,103631,103632,103633

Initial review: https://codereview.appspot.com/5936047/

Review URL: https://codereview.appspot.com/5935051

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

src/gpu/GrAAConvexPathRenderer.cpp
src/ports/SkFontHost_FreeType.cpp
src/ports/SkOSFile_stdio.cpp

index 7638067..c539060 100644 (file)
@@ -53,10 +53,9 @@ typedef SkTArray<Segment, true> SegmentArray;
 
 void center_of_mass(const SegmentArray& segments, SkPoint* c) {
     GrScalar area = 0;
-    SkPoint center;
-    center.set(0, 0);
+    SkPoint center = {0, 0};
     int count = segments.count();
-    SkPoint p0;
+    SkPoint p0 = {0, 0};
     if (count > 2) {
         // We translate the polygon so that the first point is at the origin.
         // This avoids some precision issues with small area polygons far away
index 55845dc..b16f781 100644 (file)
@@ -1024,7 +1024,7 @@ void SkScalerContext_FreeType::generateMetrics(SkGlyph* glyph) {
         return;
     }
 
-    SkFixed vLeft, vTop;
+    SkFixed vLeft = 0, vTop = 0;
 
     switch ( fFace->glyph->format ) {
       case FT_GLYPH_FORMAT_OUTLINE: {
@@ -1116,7 +1116,7 @@ void SkScalerContext_FreeType::generateMetrics(SkGlyph* glyph) {
         }
 
         // bounding box of the unskewed and unscaled glyph
-        FT_BBox bbox;
+        FT_BBox bbox = {0, 0, 0, 0};  // Suppress Coverity warning.
         getBBoxForCurrentGlyph(glyph, &bbox);
 
         // compute the vertical gap above and below the glyph if the glyph were
index 764b466..1254394 100644 (file)
@@ -36,10 +36,16 @@ size_t sk_fgetsize(SkFILE* f)
 {
     SkASSERT(f);
 
-    size_t  curr = ::ftell((FILE*)f);       // remember where we are
+    long curr = ::ftell((FILE*)f);       // remember where we are
+    if (curr < 0) {
+        return 0;
+    }
     ::fseek((FILE*)f, 0, SEEK_END);         // go to the end
-    size_t size = ::ftell((FILE*)f);        // record the size
-    ::fseek((FILE*)f, (long)curr, SEEK_SET);        // go back to our prev loc
+    long size = ::ftell((FILE*)f);        // record the size
+    if (size < 0) {
+        size = 0;
+    }
+    ::fseek((FILE*)f, curr, SEEK_SET);        // go back to our prev loc
     return size;
 }