diff options
author | suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> | 2009-07-08 14:26:51 +0900 |
---|---|---|
committer | suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> | 2009-07-08 14:52:11 +0900 |
commit | 4c531460ed677d9aaa06f79de160bfe3d03d9b3c (patch) | |
tree | 8f8974015ee5c1fbf4e162899c9a534b4f1bc625 /include/freetype/internal/ftgloadr.h | |
parent | f4a0f93a14428e5b9456fa0c9585c093e4dfc8b1 (diff) | |
download | freetype2-4c531460ed677d9aaa06f79de160bfe3d03d9b3c.tar.gz |
Prevent the overflows by a glyph with too many points or contours.
Diffstat (limited to 'include/freetype/internal/ftgloadr.h')
-rw-r--r-- | include/freetype/internal/ftgloadr.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/include/freetype/internal/ftgloadr.h b/include/freetype/internal/ftgloadr.h index 548481ac8..ce4dc6c9c 100644 --- a/include/freetype/internal/ftgloadr.h +++ b/include/freetype/internal/ftgloadr.h @@ -121,15 +121,15 @@ FT_BEGIN_HEADER FT_UInt n_contours ); -#define FT_GLYPHLOADER_CHECK_P( _loader, _count ) \ - ( (_count) == 0 || (int)((_loader)->base.outline.n_points + \ - (_loader)->current.outline.n_points + \ - (_count)) <= (int)(_loader)->max_points ) - -#define FT_GLYPHLOADER_CHECK_C( _loader, _count ) \ - ( (_count) == 0 || (int)((_loader)->base.outline.n_contours + \ - (_loader)->current.outline.n_contours + \ - (_count)) <= (int)(_loader)->max_contours ) +#define FT_GLYPHLOADER_CHECK_P( _loader, _count ) \ + ( (_count) == 0 || ((_loader)->base.outline.n_points + \ + (_loader)->current.outline.n_points + \ + (unsigned long)(_count)) <= (_loader)->max_points ) + +#define FT_GLYPHLOADER_CHECK_C( _loader, _count ) \ + ( (_count) == 0 || ((_loader)->base.outline.n_contours + \ + (_loader)->current.outline.n_contours + \ + (unsigned long)(_count)) <= (_loader)->max_contours ) #define FT_GLYPHLOADER_CHECK_POINTS( _loader, _points,_contours ) \ ( ( FT_GLYPHLOADER_CHECK_P( _loader, _points ) && \ |