diff options
author | Werner Lemberg <wl@gnu.org> | 2012-02-26 20:54:19 +0100 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2012-02-26 20:54:19 +0100 |
commit | fcbc82e69e7b114b0db75e955896107d611898e6 (patch) | |
tree | 521625888d37cc9e82cce0d6d953b8b103657f84 /src/smooth/ftsmooth.c | |
parent | c42848e6d9d2a2aa9adcc99fa4e817f4e4e9f656 (diff) | |
download | freetype2-fcbc82e69e7b114b0db75e955896107d611898e6.tar.gz |
[smooth] Fix Savannah bug #35604.
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use `FT_Pos'
instead of `FT_UInt' for some variables and update comparisons
accordingly. A detailed analysis can be found in the bug report.
Diffstat (limited to 'src/smooth/ftsmooth.c')
-rw-r--r-- | src/smooth/ftsmooth.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/smooth/ftsmooth.c b/src/smooth/ftsmooth.c index 7d35cf272..00499cc28 100644 --- a/src/smooth/ftsmooth.c +++ b/src/smooth/ftsmooth.c @@ -4,7 +4,7 @@ /* */ /* Anti-aliasing renderer interface (body). */ /* */ -/* Copyright 2000-2006, 2009-2011 by */ +/* Copyright 2000-2006, 2009-2012 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -105,9 +105,9 @@ FT_Error error; FT_Outline* outline = NULL; FT_BBox cbox; - FT_UInt width, height, pitch; + FT_Pos width, height, pitch; #ifndef FT_CONFIG_OPTION_SUBPIXEL_RENDERING - FT_UInt height_org, width_org; + FT_Pos height_org, width_org; #endif FT_Bitmap* bitmap; FT_Memory memory; @@ -151,7 +151,7 @@ return Smooth_Err_Raster_Overflow; } else - width = (FT_UInt)( ( cbox.xMax - cbox.xMin ) >> 6 ); + width = ( cbox.xMax - cbox.xMin ) >> 6; if ( cbox.yMin < 0 && cbox.yMax > FT_INT_MAX + cbox.yMin ) { @@ -161,7 +161,7 @@ return Smooth_Err_Raster_Overflow; } else - height = (FT_UInt)( ( cbox.yMax - cbox.yMin ) >> 6 ); + height = ( cbox.yMax - cbox.yMin ) >> 6; bitmap = &slot->bitmap; memory = render->root.memory; @@ -223,7 +223,7 @@ /* Required check is ( pitch * height < FT_ULONG_MAX ), */ /* but we care realistic cases only. Always pitch <= width. */ - if ( width > 0x7FFFU || height > 0x7FFFU ) + if ( width > 0x7FFF || height > 0x7FFF ) { FT_ERROR(( "ft_smooth_render_generic: glyph too large: %u x %u\n", width, height )); |