summaryrefslogtreecommitdiff
path: root/src/lzw
diff options
context:
space:
mode:
authorWerner Lemberg <wl@gnu.org>2016-08-16 09:46:40 +0200
committerWerner Lemberg <wl@gnu.org>2016-08-16 09:46:40 +0200
commit548f68d805159d01342b16ccb5ac25704bf0d126 (patch)
tree3321356437f3ce575fe48710507a856bd13096ae /src/lzw
parent8d7b9198e3830bb1ae37ac3b3f44c60582c86f81 (diff)
downloadfreetype2-548f68d805159d01342b16ccb5ac25704bf0d126.tar.gz
[lzw] Avoid invalid left shift.
* src/lzw/ftzopen.c (ft_lzwstate_get_code): Limit `num_bits'.
Diffstat (limited to 'src/lzw')
-rw-r--r--src/lzw/ftzopen.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lzw/ftzopen.c b/src/lzw/ftzopen.c
index 32839cc32..ae79fdd24 100644
--- a/src/lzw/ftzopen.c
+++ b/src/lzw/ftzopen.c
@@ -65,6 +65,9 @@
FT_Int result;
+ if ( num_bits > LZW_MAX_BITS )
+ return -1;
+
if ( state->buf_clear ||
offset >= state->buf_size ||
state->free_ent >= state->free_bits )