11b79bae0SXin LI ------------------------------------------------------------------ 21b79bae0SXin LI This file is part of bzip2/libbzip2, a program and library for 31b79bae0SXin LI lossless, block-sorting data compression. 41b79bae0SXin LI 5*51f61fc0SXin LI bzip2/libbzip2 version 1.0.8 of 13 July 2019 6*51f61fc0SXin LI Copyright (C) 1996-2019 Julian Seward <jseward@acm.org> 71b79bae0SXin LI 81b79bae0SXin LI Please read the WARNING, DISCLAIMER and PATENTS sections in the 91b79bae0SXin LI README file. 101b79bae0SXin LI 111b79bae0SXin LI This program is released under the terms of the license contained 121b79bae0SXin LI in the file LICENSE. 131b79bae0SXin LI ------------------------------------------------------------------ 14df9de0ebSDavid E. O'Brien 15df9de0ebSDavid E. O'Brien 16df9de0ebSDavid E. O'Brien0.9.0 17df9de0ebSDavid E. O'Brien~~~~~ 18df9de0ebSDavid E. O'BrienFirst version. 19df9de0ebSDavid E. O'Brien 20df9de0ebSDavid E. O'Brien 21df9de0ebSDavid E. O'Brien0.9.0a 22df9de0ebSDavid E. O'Brien~~~~~~ 23df9de0ebSDavid E. O'BrienRemoved 'ranlib' from Makefile, since most modern Unix-es 24df9de0ebSDavid E. O'Briendon't need it, or even know about it. 25df9de0ebSDavid E. O'Brien 26df9de0ebSDavid E. O'Brien 27df9de0ebSDavid E. O'Brien0.9.0b 28df9de0ebSDavid E. O'Brien~~~~~~ 29df9de0ebSDavid E. O'BrienFixed a problem with error reporting in bzip2.c. This does not effect 30df9de0ebSDavid E. O'Brienthe library in any way. Problem is: versions 0.9.0 and 0.9.0a (of the 31df9de0ebSDavid E. O'Brienprogram proper) compress and decompress correctly, but give misleading 32df9de0ebSDavid E. O'Brienerror messages (internal panics) when an I/O error occurs, instead of 33df9de0ebSDavid E. O'Brienreporting the problem correctly. This shouldn't give any data loss 34df9de0ebSDavid E. O'Brien(as far as I can see), but is confusing. 35df9de0ebSDavid E. O'Brien 36df9de0ebSDavid E. O'BrienMade the inline declarations disappear for non-GCC compilers. 37df9de0ebSDavid E. O'Brien 38df9de0ebSDavid E. O'Brien 39df9de0ebSDavid E. O'Brien0.9.0c 40df9de0ebSDavid E. O'Brien~~~~~~ 41df9de0ebSDavid E. O'BrienFixed some problems in the library pertaining to some boundary cases. 42df9de0ebSDavid E. O'BrienThis makes the library behave more correctly in those situations. The 43df9de0ebSDavid E. O'Brienfixes apply only to features (calls and parameters) not used by 44df9de0ebSDavid E. O'Brienbzip2.c, so the non-fixedness of them in previous versions has no 45df9de0ebSDavid E. O'Brieneffect on reliability of bzip2.c. 46df9de0ebSDavid E. O'Brien 47df9de0ebSDavid E. O'BrienIn bzlib.c: 48df9de0ebSDavid E. O'Brien * made zero-length BZ_FLUSH work correctly in bzCompress(). 49df9de0ebSDavid E. O'Brien * fixed bzWrite/bzRead to ignore zero-length requests. 50df9de0ebSDavid E. O'Brien * fixed bzread to correctly handle read requests after EOF. 51df9de0ebSDavid E. O'Brien * wrong parameter order in call to bzDecompressInit in 52df9de0ebSDavid E. O'Brien bzBuffToBuffDecompress. Fixed. 53df9de0ebSDavid E. O'Brien 54df9de0ebSDavid E. O'BrienIn compress.c: 55df9de0ebSDavid E. O'Brien * changed setting of nGroups in sendMTFValues() so as to 56df9de0ebSDavid E. O'Brien do a bit better on small files. This _does_ effect 57df9de0ebSDavid E. O'Brien bzip2.c. 58df9de0ebSDavid E. O'Brien 59df9de0ebSDavid E. O'Brien 60df9de0ebSDavid E. O'Brien0.9.5a 61df9de0ebSDavid E. O'Brien~~~~~~ 62df9de0ebSDavid E. O'BrienMajor change: add a fallback sorting algorithm (blocksort.c) 63df9de0ebSDavid E. O'Briento give reasonable behaviour even for very repetitive inputs. 64df9de0ebSDavid E. O'BrienNuked --repetitive-best and --repetitive-fast since they are 65df9de0ebSDavid E. O'Brienno longer useful. 66df9de0ebSDavid E. O'Brien 67df9de0ebSDavid E. O'BrienMinor changes: mostly a whole bunch of small changes/ 68df9de0ebSDavid E. O'Brienbugfixes in the driver (bzip2.c). Changes pertaining to the 69df9de0ebSDavid E. O'Brienuser interface are: 70df9de0ebSDavid E. O'Brien 71df9de0ebSDavid E. O'Brien allow decompression of symlink'd files to stdout 72df9de0ebSDavid E. O'Brien decompress/test files even without .bz2 extension 73df9de0ebSDavid E. O'Brien give more accurate error messages for I/O errors 74df9de0ebSDavid E. O'Brien when compressing/decompressing to stdout, don't catch control-C 75df9de0ebSDavid E. O'Brien read flags from BZIP2 and BZIP environment variables 76df9de0ebSDavid E. O'Brien decline to break hard links to a file unless forced with -f 77df9de0ebSDavid E. O'Brien allow -c flag even with no filenames 78df9de0ebSDavid E. O'Brien preserve file ownerships as far as possible 79df9de0ebSDavid E. O'Brien make -s -1 give the expected block size (100k) 80df9de0ebSDavid E. O'Brien add a flag -q --quiet to suppress nonessential warnings 81df9de0ebSDavid E. O'Brien stop decoding flags after --, so files beginning in - can be handled 82df9de0ebSDavid E. O'Brien resolved inconsistent naming: bzcat or bz2cat ? 83df9de0ebSDavid E. O'Brien bzip2 --help now returns 0 84df9de0ebSDavid E. O'Brien 85df9de0ebSDavid E. O'BrienProgramming-level changes are: 86df9de0ebSDavid E. O'Brien 87df9de0ebSDavid E. O'Brien fixed syntax error in GET_LL4 for Borland C++ 5.02 88df9de0ebSDavid E. O'Brien let bzBuffToBuffDecompress return BZ_DATA_ERROR{_MAGIC} 89df9de0ebSDavid E. O'Brien fix overshoot of mode-string end in bzopen_or_bzdopen 90df9de0ebSDavid E. O'Brien wrapped bzlib.h in #ifdef __cplusplus ... extern "C" { ... } 91df9de0ebSDavid E. O'Brien close file handles under all error conditions 92df9de0ebSDavid E. O'Brien added minor mods so it compiles with DJGPP out of the box 93df9de0ebSDavid E. O'Brien fixed Makefile so it doesn't give problems with BSD make 94df9de0ebSDavid E. O'Brien fix uninitialised memory reads in dlltest.c 95df9de0ebSDavid E. O'Brien 96df9de0ebSDavid E. O'Brien0.9.5b 97df9de0ebSDavid E. O'Brien~~~~~~ 98df9de0ebSDavid E. O'BrienOpen stdin/stdout in binary mode for DJGPP. 99df9de0ebSDavid E. O'Brien 100df9de0ebSDavid E. O'Brien0.9.5c 101df9de0ebSDavid E. O'Brien~~~~~~ 102df9de0ebSDavid E. O'BrienChanged BZ_N_OVERSHOOT to be ... + 2 instead of ... + 1. The + 1 103df9de0ebSDavid E. O'Brienversion could cause the sorted order to be wrong in some extremely 104df9de0ebSDavid E. O'Brienobscure cases. Also changed setting of quadrant in blocksort.c. 105df9de0ebSDavid E. O'Brien 106df9de0ebSDavid E. O'Brien0.9.5d 107df9de0ebSDavid E. O'Brien~~~~~~ 108df9de0ebSDavid E. O'BrienThe only functional change is to make bzlibVersion() in the library 109df9de0ebSDavid E. O'Brienreturn the correct string. This has no effect whatsoever on the 110df9de0ebSDavid E. O'Brienfunctioning of the bzip2 program or library. Added a couple of casts 111df9de0ebSDavid E. O'Brienso the library compiles without warnings at level 3 in MS Visual 112df9de0ebSDavid E. O'BrienStudio 6.0. Included a Y2K statement in the file Y2K_INFO. All other 113df9de0ebSDavid E. O'Brienchanges are minor documentation changes. 114df9de0ebSDavid E. O'Brien 115df9de0ebSDavid E. O'Brien1.0 116df9de0ebSDavid E. O'Brien~~~ 117df9de0ebSDavid E. O'BrienSeveral minor bugfixes and enhancements: 118df9de0ebSDavid E. O'Brien 119df9de0ebSDavid E. O'Brien* Large file support. The library uses 64-bit counters to 120df9de0ebSDavid E. O'Brien count the volume of data passing through it. bzip2.c 121df9de0ebSDavid E. O'Brien is now compiled with -D_FILE_OFFSET_BITS=64 to get large 122df9de0ebSDavid E. O'Brien file support from the C library. -v correctly prints out 123df9de0ebSDavid E. O'Brien file sizes greater than 4 gigabytes. All these changes have 124df9de0ebSDavid E. O'Brien been made without assuming a 64-bit platform or a C compiler 125df9de0ebSDavid E. O'Brien which supports 64-bit ints, so, except for the C library 126df9de0ebSDavid E. O'Brien aspect, they are fully portable. 127df9de0ebSDavid E. O'Brien 128df9de0ebSDavid E. O'Brien* Decompression robustness. The library/program should be 129df9de0ebSDavid E. O'Brien robust to any corruption of compressed data, detecting and 130df9de0ebSDavid E. O'Brien handling _all_ corruption, instead of merely relying on 131df9de0ebSDavid E. O'Brien the CRCs. What this means is that the program should 132df9de0ebSDavid E. O'Brien never crash, given corrupted data, and the library should 133df9de0ebSDavid E. O'Brien always return BZ_DATA_ERROR. 134df9de0ebSDavid E. O'Brien 135df9de0ebSDavid E. O'Brien* Fixed an obscure race-condition bug only ever observed on 136df9de0ebSDavid E. O'Brien Solaris, in which, if you were very unlucky and issued 137df9de0ebSDavid E. O'Brien control-C at exactly the wrong time, both input and output 138df9de0ebSDavid E. O'Brien files would be deleted. 139df9de0ebSDavid E. O'Brien 140df9de0ebSDavid E. O'Brien* Don't run out of file handles on test/decompression when 141df9de0ebSDavid E. O'Brien large numbers of files have invalid magic numbers. 142df9de0ebSDavid E. O'Brien 143df9de0ebSDavid E. O'Brien* Avoid library namespace pollution. Prefix all exported 144df9de0ebSDavid E. O'Brien symbols with BZ2_. 145df9de0ebSDavid E. O'Brien 146df9de0ebSDavid E. O'Brien* Minor sorting enhancements from my DCC2000 paper. 147df9de0ebSDavid E. O'Brien 148df9de0ebSDavid E. O'Brien* Advance the version number to 1.0, so as to counteract the 149df9de0ebSDavid E. O'Brien (false-in-this-case) impression some people have that programs 150df9de0ebSDavid E. O'Brien with version numbers less than 1.0 are in some way, experimental, 151df9de0ebSDavid E. O'Brien pre-release versions. 152df9de0ebSDavid E. O'Brien 153df9de0ebSDavid E. O'Brien* Create an initial Makefile-libbz2_so to build a shared library. 154df9de0ebSDavid E. O'Brien Yes, I know I should really use libtool et al ... 155df9de0ebSDavid E. O'Brien 156df9de0ebSDavid E. O'Brien* Make the program exit with 2 instead of 0 when decompression 157df9de0ebSDavid E. O'Brien fails due to a bad magic number (ie, an invalid bzip2 header). 158df9de0ebSDavid E. O'Brien Also exit with 1 (as the manual claims :-) whenever a diagnostic 159df9de0ebSDavid E. O'Brien message would have been printed AND the corresponding operation 160df9de0ebSDavid E. O'Brien is aborted, for example 161df9de0ebSDavid E. O'Brien bzip2: Output file xx already exists. 162df9de0ebSDavid E. O'Brien When a diagnostic message is printed but the operation is not 163df9de0ebSDavid E. O'Brien aborted, for example 164df9de0ebSDavid E. O'Brien bzip2: Can't guess original name for wurble -- using wurble.out 165df9de0ebSDavid E. O'Brien then the exit value 0 is returned, unless some other problem is 166df9de0ebSDavid E. O'Brien also detected. 167df9de0ebSDavid E. O'Brien 168df9de0ebSDavid E. O'Brien I think it corresponds more closely to what the manual claims now. 169df9de0ebSDavid E. O'Brien 170df9de0ebSDavid E. O'Brien 171df9de0ebSDavid E. O'Brien1.0.1 172df9de0ebSDavid E. O'Brien~~~~~ 173df9de0ebSDavid E. O'Brien* Modified dlltest.c so it uses the new BZ2_ naming scheme. 174df9de0ebSDavid E. O'Brien* Modified makefile-msc to fix minor build probs on Win2k. 175df9de0ebSDavid E. O'Brien* Updated README.COMPILATION.PROBLEMS. 176df9de0ebSDavid E. O'Brien 177df9de0ebSDavid E. O'BrienThere are no functionality changes or bug fixes relative to version 178df9de0ebSDavid E. O'Brien1.0.0. This is just a documentation update + a fix for minor Win32 179df9de0ebSDavid E. O'Brienbuild problems. For almost everyone, upgrading from 1.0.0 to 1.0.1 is 180df9de0ebSDavid E. O'Brienutterly pointless. Don't bother. 181ed14b6e0SMaxim Sobolev 182ed14b6e0SMaxim Sobolev 183ed14b6e0SMaxim Sobolev1.0.2 184ed14b6e0SMaxim Sobolev~~~~~ 185ed14b6e0SMaxim SobolevA bug fix release, addressing various minor issues which have appeared 186ed14b6e0SMaxim Sobolevin the 18 or so months since 1.0.1 was released. Most of the fixes 187ed14b6e0SMaxim Sobolevare to do with file-handling or documentation bugs. To the best of my 188ed14b6e0SMaxim Sobolevknowledge, there have been no data-loss-causing bugs reported in the 189ed14b6e0SMaxim Sobolevcompression/decompression engine of 1.0.0 or 1.0.1. 190ed14b6e0SMaxim Sobolev 191ed14b6e0SMaxim SobolevNote that this release does not improve the rather crude build system 192ed14b6e0SMaxim Sobolevfor Unix platforms. The general plan here is to autoconfiscate/ 193ed14b6e0SMaxim Sobolevlibtoolise 1.0.2 soon after release, and release the result as 1.1.0 194ed14b6e0SMaxim Sobolevor perhaps 1.2.0. That, however, is still just a plan at this point. 195ed14b6e0SMaxim Sobolev 196ed14b6e0SMaxim SobolevHere are the changes in 1.0.2. Bug-reporters and/or patch-senders in 197ed14b6e0SMaxim Sobolevparentheses. 198ed14b6e0SMaxim Sobolev 199ed14b6e0SMaxim Sobolev* Fix an infinite segfault loop in 1.0.1 when a directory is 200ed14b6e0SMaxim Sobolev encountered in -f (force) mode. 201ed14b6e0SMaxim Sobolev (Trond Eivind Glomsrod, Nicholas Nethercote, Volker Schmidt) 202ed14b6e0SMaxim Sobolev 203ed14b6e0SMaxim Sobolev* Avoid double fclose() of output file on certain I/O error paths. 204ed14b6e0SMaxim Sobolev (Solar Designer) 205ed14b6e0SMaxim Sobolev 206ed14b6e0SMaxim Sobolev* Don't fail with internal error 1007 when fed a long stream (> 48MB) 207ed14b6e0SMaxim Sobolev of byte 251. Also print useful message suggesting that 1007s may be 208ed14b6e0SMaxim Sobolev caused by bad memory. 209ed14b6e0SMaxim Sobolev (noticed by Juan Pedro Vallejo, fixed by me) 210ed14b6e0SMaxim Sobolev 211ed14b6e0SMaxim Sobolev* Fix uninitialised variable silly bug in demo prog dlltest.c. 212ed14b6e0SMaxim Sobolev (Jorj Bauer) 213ed14b6e0SMaxim Sobolev 214ed14b6e0SMaxim Sobolev* Remove 512-MB limitation on recovered file size for bzip2recover 215ed14b6e0SMaxim Sobolev on selected platforms which support 64-bit ints. At the moment 216ed14b6e0SMaxim Sobolev all GCC supported platforms, and Win32. 217ed14b6e0SMaxim Sobolev (me, Alson van der Meulen) 218ed14b6e0SMaxim Sobolev 219ed14b6e0SMaxim Sobolev* Hard-code header byte values, to give correct operation on platforms 220ed14b6e0SMaxim Sobolev using EBCDIC as their native character set (IBM's OS/390). 221ed14b6e0SMaxim Sobolev (Leland Lucius) 222ed14b6e0SMaxim Sobolev 223ed14b6e0SMaxim Sobolev* Copy file access times correctly. 224ed14b6e0SMaxim Sobolev (Marty Leisner) 225ed14b6e0SMaxim Sobolev 226ed14b6e0SMaxim Sobolev* Add distclean and check targets to Makefile. 227ed14b6e0SMaxim Sobolev (Michael Carmack) 228ed14b6e0SMaxim Sobolev 229ed14b6e0SMaxim Sobolev* Parameterise use of ar and ranlib in Makefile. Also add $(LDFLAGS). 230ed14b6e0SMaxim Sobolev (Rich Ireland, Bo Thorsen) 231ed14b6e0SMaxim Sobolev 232ed14b6e0SMaxim Sobolev* Pass -p (create parent dirs as needed) to mkdir during make install. 233ed14b6e0SMaxim Sobolev (Jeremy Fusco) 234ed14b6e0SMaxim Sobolev 235ed14b6e0SMaxim Sobolev* Dereference symlinks when copying file permissions in -f mode. 236ed14b6e0SMaxim Sobolev (Volker Schmidt) 237ed14b6e0SMaxim Sobolev 238ed14b6e0SMaxim Sobolev* Majorly simplify implementation of uInt64_qrm10. 239ed14b6e0SMaxim Sobolev (Bo Lindbergh) 240ed14b6e0SMaxim Sobolev 241ed14b6e0SMaxim Sobolev* Check the input file still exists before deleting the output one, 242ed14b6e0SMaxim Sobolev when aborting in cleanUpAndFail(). 243ed14b6e0SMaxim Sobolev (Joerg Prante, Robert Linden, Matthias Krings) 244ed14b6e0SMaxim Sobolev 245ed14b6e0SMaxim SobolevAlso a bunch of patches courtesy of Philippe Troin, the Debian maintainer 246ed14b6e0SMaxim Sobolevof bzip2: 247ed14b6e0SMaxim Sobolev 248ed14b6e0SMaxim Sobolev* Wrapper scripts (with manpages): bzdiff, bzgrep, bzmore. 249ed14b6e0SMaxim Sobolev 250ed14b6e0SMaxim Sobolev* Spelling changes and minor enhancements in bzip2.1. 251ed14b6e0SMaxim Sobolev 252ed14b6e0SMaxim Sobolev* Avoid race condition between creating the output file and setting its 253ed14b6e0SMaxim Sobolev interim permissions safely, by using fopen_output_safely(). 254ed14b6e0SMaxim Sobolev No changes to bzip2recover since there is no issue with file 255ed14b6e0SMaxim Sobolev permissions there. 256ed14b6e0SMaxim Sobolev 257ed14b6e0SMaxim Sobolev* do not print senseless report with -v when compressing an empty 258ed14b6e0SMaxim Sobolev file. 259ed14b6e0SMaxim Sobolev 260ed14b6e0SMaxim Sobolev* bzcat -f works on non-bzip2 files. 261ed14b6e0SMaxim Sobolev 262ed14b6e0SMaxim Sobolev* do not try to escape shell meta-characters on unix (the shell takes 263ed14b6e0SMaxim Sobolev care of these). 264ed14b6e0SMaxim Sobolev 265ed14b6e0SMaxim Sobolev* added --fast and --best aliases for -1 -9 for gzip compatibility. 266ed14b6e0SMaxim Sobolev 267f7a4f99fSDavid E. O'Brien 268f7a4f99fSDavid E. O'Brien1.0.3 (15 Feb 05) 269f7a4f99fSDavid E. O'Brien~~~~~~~~~~~~~~~~~ 270f7a4f99fSDavid E. O'BrienFixes some minor bugs since the last version, 1.0.2. 271f7a4f99fSDavid E. O'Brien 272f7a4f99fSDavid E. O'Brien* Further robustification against corrupted compressed data. 273f7a4f99fSDavid E. O'Brien There are currently no known bitstreams which can cause the 274f7a4f99fSDavid E. O'Brien decompressor to crash, loop or access memory which does not 275f7a4f99fSDavid E. O'Brien belong to it. If you are using bzip2 or the library to 276f7a4f99fSDavid E. O'Brien decompress bitstreams from untrusted sources, an upgrade 2771b79bae0SXin LI to 1.0.3 is recommended. This fixes CAN-2005-1260. 278f7a4f99fSDavid E. O'Brien 279f7a4f99fSDavid E. O'Brien* The documentation has been converted to XML, from which html 280f7a4f99fSDavid E. O'Brien and pdf can be derived. 281f7a4f99fSDavid E. O'Brien 282f7a4f99fSDavid E. O'Brien* Various minor bugs in the documentation have been fixed. 283f7a4f99fSDavid E. O'Brien 284f7a4f99fSDavid E. O'Brien* Fixes for various compilation warnings with newer versions of 285f7a4f99fSDavid E. O'Brien gcc, and on 64-bit platforms. 286f7a4f99fSDavid E. O'Brien 287f7a4f99fSDavid E. O'Brien* The BZ_NO_STDIO cpp symbol was not properly observed in 1.0.2. 288f7a4f99fSDavid E. O'Brien This has been fixed. 2891b79bae0SXin LI 2901b79bae0SXin LI 2911b79bae0SXin LI1.0.4 (20 Dec 06) 2921b79bae0SXin LI~~~~~~~~~~~~~~~~~ 2931b79bae0SXin LIFixes some minor bugs since the last version, 1.0.3. 2941b79bae0SXin LI 2951b79bae0SXin LI* Fix file permissions race problem (CAN-2005-0953). 2961b79bae0SXin LI 2971b79bae0SXin LI* Avoid possible segfault in BZ2_bzclose. From Coverity's NetBSD 2981b79bae0SXin LI scan. 2991b79bae0SXin LI 3001b79bae0SXin LI* 'const'/prototype cleanups in the C code. 3011b79bae0SXin LI 3021b79bae0SXin LI* Change default install location to /usr/local, and handle multiple 3031b79bae0SXin LI 'make install's without error. 3041b79bae0SXin LI 3051b79bae0SXin LI* Sanitise file names more carefully in bzgrep. Fixes CAN-2005-0758 3061b79bae0SXin LI to the extent that applies to bzgrep. 3071b79bae0SXin LI 3081b79bae0SXin LI* Use 'mktemp' rather than 'tempfile' in bzdiff. 3091b79bae0SXin LI 3101b79bae0SXin LI* Tighten up a couple of assertions in blocksort.c following automated 3111b79bae0SXin LI analysis. 3121b79bae0SXin LI 3131b79bae0SXin LI* Fix minor doc/comment bugs. 3141b79bae0SXin LI 3150c9ffc95SXin LI 3160c9ffc95SXin LI1.0.5 (10 Dec 07) 3170c9ffc95SXin LI~~~~~~~~~~~~~~~~~ 3180c9ffc95SXin LISecurity fix only. Fixes CERT-FI 20469 as it applies to bzip2. 3190c9ffc95SXin LI 320fb2971ccSDavid E. O'Brien 321fb2971ccSDavid E. O'Brien1.0.6 (6 Sept 10) 322fb2971ccSDavid E. O'Brien~~~~~~~~~~~~~~~~~ 323fb2971ccSDavid E. O'Brien 324fb2971ccSDavid E. O'Brien* Security fix for CVE-2010-0405. This was reported by Mikolaj 325fb2971ccSDavid E. O'Brien Izdebski. 326fb2971ccSDavid E. O'Brien 327fb2971ccSDavid E. O'Brien* Make the documentation build on Ubuntu 10.04 328b88cc53dSXin LI 329b88cc53dSXin LI1.0.7 (27 Jun 19) 330b88cc53dSXin LI~~~~~~~~~~~~~~~~~ 331b88cc53dSXin LI 332b88cc53dSXin LI* Fix undefined behavior in the macros SET_BH, CLEAR_BH, & ISSET_BH 333b88cc53dSXin LI 334b88cc53dSXin LI* bzip2: Fix return value when combining --test,-t and -q. 335b88cc53dSXin LI 336b88cc53dSXin LI* bzip2recover: Fix buffer overflow for large argv[0] 337b88cc53dSXin LI 338b88cc53dSXin LI* bzip2recover: Fix use after free issue with outFile (CVE-2016-3189) 339b88cc53dSXin LI 340b88cc53dSXin LI* Make sure nSelectors is not out of range (CVE-2019-12900) 341*51f61fc0SXin LI 342*51f61fc0SXin LI1.0.8 (13 Jul 19) 343*51f61fc0SXin LI~~~~~~~~~~~~~~~~~ 344*51f61fc0SXin LI 345*51f61fc0SXin LI* Accept as many selectors as the file format allows. 346*51f61fc0SXin LI This relaxes the fix for CVE-2019-12900 from 1.0.7 347*51f61fc0SXin LI so that bzip2 allows decompression of bz2 files that 348*51f61fc0SXin LI use (too) many selectors again. 349*51f61fc0SXin LI 350*51f61fc0SXin LI* Fix handling of large (> 4GB) files on Windows. 351*51f61fc0SXin LI 352*51f61fc0SXin LI* Cleanup of bzdiff and bzgrep scripts so they don't use 353*51f61fc0SXin LI any bash extensions and handle multiple archives correctly. 354*51f61fc0SXin LI 355*51f61fc0SXin LI* There is now a bz2-files testsuite at 356*51f61fc0SXin LI https://sourceware.org/git/bzip2-tests.git 357