diff options
Diffstat (limited to 'src/3rdparty/freetype/src/lzw')
-rw-r--r-- | src/3rdparty/freetype/src/lzw/Jamfile | 2 | ||||
-rw-r--r-- | src/3rdparty/freetype/src/lzw/ftlzw.c | 4 | ||||
-rw-r--r-- | src/3rdparty/freetype/src/lzw/ftzopen.c | 16 | ||||
-rw-r--r-- | src/3rdparty/freetype/src/lzw/ftzopen.h | 8 | ||||
-rw-r--r-- | src/3rdparty/freetype/src/lzw/rules.mk | 2 |
5 files changed, 20 insertions, 12 deletions
diff --git a/src/3rdparty/freetype/src/lzw/Jamfile b/src/3rdparty/freetype/src/lzw/Jamfile index 91effe20c4..cb83aa4a56 100644 --- a/src/3rdparty/freetype/src/lzw/Jamfile +++ b/src/3rdparty/freetype/src/lzw/Jamfile @@ -1,6 +1,6 @@ # FreeType 2 src/lzw Jamfile # -# Copyright 2004-2015 by +# Copyright 2004-2018 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/src/3rdparty/freetype/src/lzw/ftlzw.c b/src/3rdparty/freetype/src/lzw/ftlzw.c index 2f4e3b0f1d..cb46f93c68 100644 --- a/src/3rdparty/freetype/src/lzw/ftlzw.c +++ b/src/3rdparty/freetype/src/lzw/ftlzw.c @@ -8,7 +8,7 @@ /* be used to parse compressed PCF fonts, as found with many X11 server */ /* distributions. */ /* */ -/* Copyright 2004-2015 by */ +/* Copyright 2004-2018 by */ /* Albert Chin-A-Young. */ /* */ /* based on code in `src/gzip/ftgzip.c' */ @@ -31,7 +31,7 @@ #include FT_MODULE_ERRORS_H -#undef __FTERRORS_H__ +#undef FTERRORS_H_ #undef FT_ERR_PREFIX #define FT_ERR_PREFIX LZW_Err_ diff --git a/src/3rdparty/freetype/src/lzw/ftzopen.c b/src/3rdparty/freetype/src/lzw/ftzopen.c index f96bb73d98..2b868ba9f2 100644 --- a/src/3rdparty/freetype/src/lzw/ftzopen.c +++ b/src/3rdparty/freetype/src/lzw/ftzopen.c @@ -8,7 +8,7 @@ /* be used to parse compressed PCF fonts, as found with many X11 server */ /* distributions. */ /* */ -/* Copyright 2005-2015 by */ +/* Copyright 2005-2018 by */ /* David Turner. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -42,7 +42,12 @@ state->buf_total += count; state->in_eof = FT_BOOL( count < state->num_bits ); state->buf_offset = 0; - state->buf_size = ( state->buf_size << 3 ) - ( state->num_bits - 1 ); + + state->buf_size <<= 3; + if ( state->buf_size > state->num_bits ) + state->buf_size -= state->num_bits - 1; + else + return -1; /* not enough data */ if ( count == 0 ) /* end of file */ return -1; @@ -66,7 +71,10 @@ { if ( state->free_ent >= state->free_bits ) { - state->num_bits = ++num_bits; + state->num_bits = ++num_bits; + if ( num_bits > LZW_MAX_BITS ) + return -1; + state->free_bits = state->num_bits < state->max_bits ? (FT_UInt)( ( 1UL << num_bits ) - 256 ) : state->max_free + 1; @@ -366,7 +374,7 @@ { while ( state->stack_top > 0 ) { - --state->stack_top; + state->stack_top--; if ( buffer ) buffer[result] = state->stack[state->stack_top]; diff --git a/src/3rdparty/freetype/src/lzw/ftzopen.h b/src/3rdparty/freetype/src/lzw/ftzopen.h index d35e380595..4fd267eb90 100644 --- a/src/3rdparty/freetype/src/lzw/ftzopen.h +++ b/src/3rdparty/freetype/src/lzw/ftzopen.h @@ -8,7 +8,7 @@ /* be used to parse compressed PCF fonts, as found with many X11 server */ /* distributions. */ /* */ -/* Copyright 2005-2015 by */ +/* Copyright 2005-2018 by */ /* David Turner. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -19,8 +19,8 @@ /* */ /***************************************************************************/ -#ifndef __FT_ZOPEN_H__ -#define __FT_ZOPEN_H__ +#ifndef FTZOPEN_H_ +#define FTZOPEN_H_ #include <ft2build.h> #include FT_FREETYPE_H @@ -166,7 +166,7 @@ /* */ -#endif /* __FT_ZOPEN_H__ */ +#endif /* FTZOPEN_H_ */ /* END */ diff --git a/src/3rdparty/freetype/src/lzw/rules.mk b/src/3rdparty/freetype/src/lzw/rules.mk index ab1c02fb50..18933c41c2 100644 --- a/src/3rdparty/freetype/src/lzw/rules.mk +++ b/src/3rdparty/freetype/src/lzw/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 2004-2015 by +# Copyright 2004-2018 by # Albert Chin-A-Young. # # based on `src/lzw/rules.mk' |