diff --git a/ChangeLog b/ChangeLog index 9e2450930..b0946c7af 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2015-10-03 Werner Lemberg + + [bzip2, gzip] Avoid access of unitialized memory (#46109). + + * src/bzip2/ftbzip2.c (ft_bzip2_file_fill_output), src/gzip/ftgzip.c + (ft_gzip_file_fill_output): In case of an error, adjust the limit to + avoid copying uninitialized memory. + 2015-10-01 Alexei Podtelezhnikov [smooth] Clean up worker. diff --git a/src/bzip2/ftbzip2.c b/src/bzip2/ftbzip2.c index 86f8be8b7..d4a85f28b 100644 --- a/src/bzip2/ftbzip2.c +++ b/src/bzip2/ftbzip2.c @@ -310,7 +310,8 @@ } else if ( err != BZ_OK ) { - error = FT_THROW( Invalid_Stream_Operation ); + zip->limit = zip->cursor; + error = FT_THROW( Invalid_Stream_Operation ); break; } } diff --git a/src/gzip/ftgzip.c b/src/gzip/ftgzip.c index 452768b64..36134a82e 100644 --- a/src/gzip/ftgzip.c +++ b/src/gzip/ftgzip.c @@ -433,7 +433,8 @@ } else if ( err != Z_OK ) { - error = FT_THROW( Invalid_Stream_Operation ); + zip->limit = zip->cursor; + error = FT_THROW( Invalid_Stream_Operation ); break; } }