diff options
author | Ladislav Zezula <zezula-at-volny-dot-cz> | 2016-12-16 20:25:59 +0100 |
---|---|---|
committer | Ladislav Zezula <zezula-at-volny-dot-cz> | 2016-12-16 20:25:59 +0100 |
commit | 0e138c27d3086061671ca57d8bba62ab14050b5d (patch) | |
tree | ce5fae60e052bd7e7d842d5b733bfa29135a7a87 | |
parent | 2ab12329c1db9503826b05eef7309d4fb13f057f (diff) |
+ bzip2 upgraded to 1.0.6
-rw-r--r-- | src/bzip2/blocksort.c | 4 | ||||
-rw-r--r-- | src/bzip2/bzlib.c | 9 | ||||
-rw-r--r-- | src/bzip2/bzlib.h | 4 | ||||
-rw-r--r-- | src/bzip2/bzlib_private.h | 6 | ||||
-rw-r--r-- | src/bzip2/compress.c | 4 | ||||
-rw-r--r-- | src/bzip2/crctable.c | 4 | ||||
-rw-r--r-- | src/bzip2/decompress.c | 24 | ||||
-rw-r--r-- | src/bzip2/huffman.c | 4 | ||||
-rw-r--r-- | src/bzip2/randtable.c | 4 |
9 files changed, 41 insertions, 22 deletions
diff --git a/src/bzip2/blocksort.c b/src/bzip2/blocksort.c index bd2dec1..d0d662c 100644 --- a/src/bzip2/blocksort.c +++ b/src/bzip2/blocksort.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/src/bzip2/bzlib.c b/src/bzip2/bzlib.c index b98f3e5..bd358a7 100644 --- a/src/bzip2/bzlib.c +++ b/src/bzip2/bzlib.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -28,7 +28,6 @@ bzBuffToBuffDecompress. Fixed. */ -#define _CRT_SECURE_NO_WARNINGS #include "bzlib_private.h" @@ -1376,7 +1375,7 @@ const char * BZ_API(BZ2_bzlibVersion)(void) #if defined(_WIN32) || defined(OS2) || defined(MSDOS) # include <fcntl.h> # include <io.h> -# define SET_BINARY_MODE(file) _setmode(_fileno(file),O_BINARY) +# define SET_BINARY_MODE(file) setmode(fileno(file),O_BINARY) #else # define SET_BINARY_MODE(file) #endif @@ -1429,7 +1428,7 @@ BZFILE * bzopen_or_bzdopen #ifdef BZ_STRICT_ANSI fp = NULL; #else - fp = _fdopen(fd,mode2); + fp = fdopen(fd,mode2); #endif } if (fp == NULL) return NULL; diff --git a/src/bzip2/bzlib.h b/src/bzip2/bzlib.h index c5b75d6..8277123 100644 --- a/src/bzip2/bzlib.h +++ b/src/bzip2/bzlib.h @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/src/bzip2/bzlib_private.h b/src/bzip2/bzlib_private.h index 2342787..5d0217f 100644 --- a/src/bzip2/bzlib_private.h +++ b/src/bzip2/bzlib_private.h @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -36,7 +36,7 @@ /*-- General stuff. --*/ -#define BZ_VERSION "1.0.5, 10-Dec-2007" +#define BZ_VERSION "1.0.6, 6-Sept-2010" typedef char Char; typedef unsigned char Bool; diff --git a/src/bzip2/compress.c b/src/bzip2/compress.c index 8c80a07..caf7696 100644 --- a/src/bzip2/compress.c +++ b/src/bzip2/compress.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/src/bzip2/crctable.c b/src/bzip2/crctable.c index 215687b..1fea7e9 100644 --- a/src/bzip2/crctable.c +++ b/src/bzip2/crctable.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/src/bzip2/decompress.c b/src/bzip2/decompress.c index bba5e0f..311f566 100644 --- a/src/bzip2/decompress.c +++ b/src/bzip2/decompress.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -381,6 +381,13 @@ Int32 BZ2_decompress ( DState* s ) es = -1; N = 1; do { + /* Check that N doesn't get too big, so that es doesn't + go negative. The maximum value that can be + RUNA/RUNB encoded is equal to the block size (post + the initial RLE), viz, 900k, so bounding N at 2 + million should guard against overflow without + rejecting any legitimate inputs. */ + if (N >= 2*1024*1024) RETURN(BZ_DATA_ERROR); if (nextSym == BZ_RUNA) es = es + (0+1) * N; else if (nextSym == BZ_RUNB) es = es + (1+1) * N; N = N * 2; @@ -485,15 +492,28 @@ Int32 BZ2_decompress ( DState* s ) RETURN(BZ_DATA_ERROR); /*-- Set up cftab to facilitate generation of T^(-1) --*/ + /* Check: unzftab entries in range. */ + for (i = 0; i <= 255; i++) { + if (s->unzftab[i] < 0 || s->unzftab[i] > nblock) + RETURN(BZ_DATA_ERROR); + } + /* Actually generate cftab. */ s->cftab[0] = 0; for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1]; for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1]; + /* Check: cftab entries in range. */ for (i = 0; i <= 256; i++) { if (s->cftab[i] < 0 || s->cftab[i] > nblock) { /* s->cftab[i] can legitimately be == nblock */ RETURN(BZ_DATA_ERROR); } } + /* Check: cftab entries non-descending. */ + for (i = 1; i <= 256; i++) { + if (s->cftab[i-1] > s->cftab[i]) { + RETURN(BZ_DATA_ERROR); + } + } s->state_out_len = 0; s->state_out_ch = 0; diff --git a/src/bzip2/huffman.c b/src/bzip2/huffman.c index 87e79e3..2283fdb 100644 --- a/src/bzip2/huffman.c +++ b/src/bzip2/huffman.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/src/bzip2/randtable.c b/src/bzip2/randtable.c index 068b763..6d62459 100644 --- a/src/bzip2/randtable.c +++ b/src/bzip2/randtable.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. |