diff options
author | David Turner <david@freetype.org> | 2005-03-15 23:31:48 +0000 |
---|---|---|
committer | David Turner <david@freetype.org> | 2005-03-15 23:31:48 +0000 |
commit | 58609c40c8406a7ddc524f61affcdab16c55472d (patch) | |
tree | 9acffa0caa0b7e63decda2b0a6c4120266a1f7bc /include/freetype/internal/ftmemory.h | |
parent | 68df4f732d29033b745272708d4c99ddb16ce373 (diff) | |
download | freetype2-58609c40c8406a7ddc524f61affcdab16c55472d.tar.gz |
* docs/CHANGES: updating
* src/type1/t1parse.c (T1_New_Parser), src/type42/t42parse.c
(t42_parser_init): modifying functions to check the font header before
allocating anything on the heap.
* internal/freetype/ftmemory.h: introducing the new macros FT_ARRAY_MAX
and FT_ARRAY_CHECK
* src/pcf/pcfread.c, src/pcf/pcfutil.c: minor fixes and simplifications.
try to protect the PCF driver from doing stupid things with broken fonts.
Diffstat (limited to 'include/freetype/internal/ftmemory.h')
-rw-r--r-- | include/freetype/internal/ftmemory.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/freetype/internal/ftmemory.h b/include/freetype/internal/ftmemory.h index ddd0cca15..70e3a3f17 100644 --- a/include/freetype/internal/ftmemory.h +++ b/include/freetype/internal/ftmemory.h @@ -270,6 +270,13 @@ FT_BEGIN_HEADER #define FT_ARRAY_MOVE( dest, source, count ) \ FT_MEM_MOVE( dest, source, (count) * sizeof ( *(dest) ) ) +/* return the maximum number of adressable elements in an array + * we limit ourselves to INT_MAX, rather than UINT_MAX, to avoid + * any problems + */ +#define FT_ARRAY_MAX( ptr ) (FT_INT_MAX/sizeof( *(ptr) )) + +#define FT_ARRAY_CHECK( ptr, count ) ( (count) <= FT_ARRAY_MAX(ptr) ) /*************************************************************************/ /* */ @@ -413,6 +420,7 @@ FT_BEGIN_HEADER FT_REALLOC( _pointer, (_old_) * sizeof ( _type_ ), \ (_new_) * sizeof ( _type_ ) ) + /* */ |