--- src/TtfUtil.cpp +++ src/TtfUtil.cpp @@ -1247,7 +1247,7 @@ void * GlyfLookup(const void * pGlyf, size_t nGlyfOffset, size_t nTableLen) { const uint8 * pByte = reinterpret_cast(pGlyf); - if (nGlyfOffset + pByte < pByte || nGlyfOffset + sizeof(Sfnt::Glyph) >= nTableLen) + if (nGlyfOffset > nTableLen || sizeof(Sfnt::Glyph) >= nTableLen - nGlyfOffset) return NULL; return const_cast(pByte + nGlyfOffset); } --- src/gr_face.cpp +++ src/gr_face.cpp @@ -87,7 +87,7 @@ Face *res = new Face(appFaceHandle, *ops); if (res && load_face(*res, faceOptions)) - return static_cast(res); + return reinterpret_cast(res); delete res; return 0; @@ -195,7 +195,7 @@ void gr_face_destroy(gr_face *face) { - delete face; + delete static_cast(face); } --- src/gr_font.cpp +++ src/gr_font.cpp @@ -50,7 +50,7 @@ if (face == 0) return 0; Font * const res = new Font(ppm, *face, appFontHandle, font_ops); - return static_cast(res); + return reinterpret_cast(res); } gr_font* gr_make_font_with_advance_fn(float ppm/*pixels per em*/, const void* appFontHandle/*non-NULL*/, gr_advance_fn getAdvance, const gr_face * face/*needed for scaling*/) @@ -61,7 +61,7 @@ void gr_font_destroy(gr_font *font) { - delete font; + delete static_cast(font); } --- src/inc/Code.h +++ src/inc/Code.h @@ -162,7 +162,7 @@ { if (_code && !_own) { - _code += dist / sizeof(instr); + _code += dist / int(sizeof(instr)); _data += dist; } }