diff options
Diffstat (limited to 'src/ports')
-rw-r--r-- | src/ports/SkFontHost_FreeType.cpp | 4 | ||||
-rw-r--r-- | src/ports/SkOSFile_stdio.cpp | 12 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/ports/SkFontHost_FreeType.cpp b/src/ports/SkFontHost_FreeType.cpp index 55845dcadd..b16f781563 100644 --- a/src/ports/SkFontHost_FreeType.cpp +++ b/src/ports/SkFontHost_FreeType.cpp @@ -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 diff --git a/src/ports/SkOSFile_stdio.cpp b/src/ports/SkOSFile_stdio.cpp index 764b466878..1254394431 100644 --- a/src/ports/SkOSFile_stdio.cpp +++ b/src/ports/SkOSFile_stdio.cpp @@ -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; } |