From 52cd0fc8b9a76b4bee8d4fab7aa0409a85900970 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Mon, 24 Nov 2008 08:15:05 +0000 Subject: [PATCH] Fixes from the gnuwin32 port. * src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/. * src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H. * src/psaux/psobjs.c (ps_table_add): Check `length'. --- ChangeLog | 10 ++++++++++ src/base/ftlcdfil.c | 4 ++-- src/base/ftotval.c | 3 ++- src/psaux/psobjs.c | 6 ++++++ 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index f2214e75b..fc3a16650 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2008-11-24 Werner Lemberg + + Fixes from the gnuwin32 port. + + * src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/. + + * src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H. + + * src/psaux/psobjs.c (ps_table_add): Check `length'. + 2008-11-15 Werner Lemberg * src/truetype/ttinterp.c (tt_default_graphics_state): The default diff --git a/src/base/ftlcdfil.c b/src/base/ftlcdfil.c index 5f1fa0bdb..a9b2060f9 100644 --- a/src/base/ftlcdfil.c +++ b/src/base/ftlcdfil.c @@ -266,7 +266,7 @@ #endif /* USE_LEGACY */ - FT_EXPORT( FT_Error ) + FT_EXPORT_DEF( FT_Error ) FT_Library_SetLcdFilter( FT_Library library, FT_LcdFilter filter ) { @@ -335,7 +335,7 @@ #else /* !FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ - FT_EXPORT( FT_Error ) + FT_EXPORT_DEF( FT_Error ) FT_Library_SetLcdFilter( FT_Library library, FT_LcdFilter filter ) { diff --git a/src/base/ftotval.c b/src/base/ftotval.c index b6de6db85..20ed686ee 100644 --- a/src/base/ftotval.c +++ b/src/base/ftotval.c @@ -4,7 +4,7 @@ /* */ /* FreeType API for validating OpenType tables (body). */ /* */ -/* Copyright 2004, 2006 by */ +/* Copyright 2004, 2006, 2008 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -18,6 +18,7 @@ #include #include FT_INTERNAL_OBJECTS_H #include FT_SERVICE_OPENTYPE_VALIDATE_H +#include FT_OPENTYPE_VALIDATE_H /* documentation is in ftotval.h */ diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c index 34a17ccf1..6812ac7cb 100644 --- a/src/psaux/psobjs.c +++ b/src/psaux/psobjs.c @@ -175,6 +175,12 @@ return PSaux_Err_Invalid_Argument; } + if ( length < 0 ) + { + FT_ERROR(( "ps_table_add: invalid length\n" )); + return PSaux_Err_Invalid_Argument; + } + /* grow the base block if needed */ if ( table->cursor + length > table->capacity ) {