From 0a05ba257b6ddd87dacf8d54b626e4b360e0a596 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Fri, 20 Mar 2009 07:19:45 +0100 Subject: [PATCH] Protect against malformed compressed data. Problem reported by Tavis Ormandy . * src/lsw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is zero. --- ChangeLog | 9 +++++++++ src/lzw/ftzopen.c | 3 +++ 2 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index 512d99ccd..f208f51ec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2009-03-20 Werner Lemberg + + Protect against malformed compressed data. + + Problem reported by Tavis Ormandy . + + * src/lsw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is + zero. + 2009-03-20 Werner Lemberg Protect against invalid SID values in CFFs. diff --git a/src/lzw/ftzopen.c b/src/lzw/ftzopen.c index fc7831510..c0483de62 100644 --- a/src/lzw/ftzopen.c +++ b/src/lzw/ftzopen.c @@ -332,6 +332,9 @@ while ( code >= 256U ) { + if ( !state->prefix ) + goto Eof; + FTLZW_STACK_PUSH( state->suffix[code - 256] ); code = state->prefix[code - 256]; }