It's been nearly a year, with some nontrivial bug fixes (all "present since the beginning"!) and portability improvements, via gnulib.
I expect to make a release within the next 10 days. Any testing is most welcome. Thanks to Mark and Paul for all their work. gzip snapshot: https://meyering.net/gzip/gzip-ss.tar.xz 808 KB https://meyering.net/gzip/gzip-ss.tar.xz.sig https://meyering.net/gzip/gzip-1.14.52-05ea.tar.xz =========================== NEWS ** Bug fixes gzip -d no longer rejects PKZIP signatures, local header, and data descriptors. These can appear in well-formed streamed zip files. [bug present since the beginning] A use of uninitialized memory on some malformed inputs has been fixed. [bug present since the beginning] A buffer overflow has been fixed when decompressing an .lzh file after decompressing a .Z file. [bug present since the beginning] When decompressing an .lzh file, the output is no longer corrupted when an internal bit buffer is not properly cleared. [bug present since the beginning] On old-fashioned or limited platforms lacking mktemp, gzexe, zdiff and znew no longer have a race when creating a temporary file. [bug present since the beginning] ** Changes in behavior gzip -l now reports "-Inf%" instead of "0.0%" for the infinite compression ratio of an empty file. =========================== Changes in gzip since v1.14: Jim Meyering (8): maint: post-release administrivia build: update gnulib to latest build: update gnulib to latest; and bootstrap maint: update copyright dates maint: update --version copyright dates maint: avoid syntax-check doubled-word false positive build: avoid new build failure due to missing setlocale.h build: remove setlocale-null-unlocked. not needed after all Mark Adler (3): maint: replace tabs in the source code with spaces zip: correctly handle PKZIP signatures and the local header zip: correctly handle PKZIP data descriptors Paul Eggert (41): tests: port to Busybox od gzip: fix uninitialized read gzip: fix another uninitialized read gzip: fix s390x build failure maint: use GNU style in lines just untabbed gzip: get_method 2nd arg is bool unzip: refactor loop that never loops unzip: use GNU style in newly-added code unzip: add regression test for recent fixes gzip: don’t assume EOF == -1 maint: add NEWS entry re PKZIP fixes gzip: fix NEWS gzip: report "-Inf%" for negative infinity build: update gnulib submodule to latest Avoid Gnulib modules more consistently build: update gnulib submodule to latest gzip: pacify -Wzero-as-null-pointer-constant build: update gnulib submodule to latest gzip: depend on fewer Gnulib modules maint: update .gitignore files gzip: pacify Oracle Solaris Studio 12.6 maint: avoid sigaction locking build: update gnulib submodule to latest build: update gnulib submodule to latest maint: adjust to GNULIB sigprogcmask changes build: update gnulib submodule to latest maint: avoid sigprocmask-related locking maint: update .gitignore gzip: don’t mishandle .lzh after .Z build: update gnulib submodule to latest maint: avoid windows-once, windows-tls maint: avoid unnecessary #include <stdio.h> gzip: use unlocked I/O gzip: replace puts loop with single printf gzexe: use -C if lacking mktemp znew: use -C gzip: fix bitbuf << 16 bug gzip: fix subbitbuf junk bug gzip: minor subbitbuf cleanups gzip: omit unnecessary fillbuf casts maint: prune lib/.gitignore some more Changes in gnulib since v1.14: * gnulib 553ab924d2...001a315786 (1429): ...
