aboutsummaryrefslogtreecommitdiff
path: root/freetype/builds/amiga/src/base/ftsystem.c
diff options
context:
space:
mode:
Diffstat (limited to 'freetype/builds/amiga/src/base/ftsystem.c')
-rw-r--r--freetype/builds/amiga/src/base/ftsystem.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/freetype/builds/amiga/src/base/ftsystem.c b/freetype/builds/amiga/src/base/ftsystem.c
index 016f1e29e..6f9eac17f 100644
--- a/freetype/builds/amiga/src/base/ftsystem.c
+++ b/freetype/builds/amiga/src/base/ftsystem.c
@@ -4,7 +4,7 @@
/* */
/* Amiga-specific FreeType low-level system interface (body). */
/* */
-/* Copyright 1996-2001, 2002, 2005, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2005, 2006, 2007, 2010 by */
/* David Turner, Robert Wilhelm, Werner Lemberg and Detlef Würkner. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -442,6 +442,14 @@ Free_VecPooled( APTR poolHeader,
stream->read = ft_amiga_stream_io;
stream->close = ft_amiga_stream_close;
+ if ( !stream->size )
+ {
+ ft_amiga_stream_close( stream );
+ FT_ERROR(( "FT_Stream_Open:" ));
+ FT_ERROR(( " opened `%s' but zero-sized\n", filepathname ));
+ return FT_Err_Cannot_Open_Stream;;
+ }
+
FT_TRACE1(( "FT_Stream_Open:" ));
FT_TRACE1(( " opened `%s' (%ld bytes) successfully\n",
filepathname, stream->size ));