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

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

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

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

index 7638067..7f8d027 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 = {};
     int count = segments.count();
-    SkPoint p0;
+    SkPoint p0 = {};
     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..d6f548e 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 = {};  // Suppress Coverity warning.
         getBBoxForCurrentGlyph(glyph, &bbox);
 
         // compute the vertical gap above and below the glyph if the glyph were
index 764b466..1fc7d6a 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, SEEK_SET);        // go back to our prev loc
     return size;
 }