Open Source

GNU gzip 1.15 Squashes Bugs Lingering Since 1992

The venerable compression utility receives its most substantial maintenance update in years, addressing dozens of defects that have persisted through three decades of releases.

2 min read
Gzip 1.15 Released With Many Longtime Bugs Fixed

The gzip compression utility, a staple of Unix-like systems since its 1992 introduction, has reached version 1.15 with an unusually comprehensive set of bug fixes addressing issues that have haunted the software from its inception. Maintainer Jim Meyering announced the release via the info-gnu mailing list and the savannah.gnu.org website, noting that the update represents a significant maintenance effort for code that predates the widespread adoption of the internet.

The new version incorporates 119 commits accumulated since the April 2025 release of version 1.14. Meyering emphasized that many of the resolved issues have remained embedded in gzip's codebase since the project's earliest days, making this release particularly noteworthy for addressing long-standing stability concerns.

Bug Fixes

The fixes span a range of critical issues affecting file handling, decompression accuracy, and memory safety:

  • File removal logic no longer inadvertently deletes incorrect files when concurrent processes rename gzip destination ancestors
  • The gzip -d command now properly handles PKZIP signatures, local headers, and data descriptors found in correctly formatted streamed zip archives
  • File name diagnostics now properly escape unusual characters in output
  • Uninitialized memory access on certain malformed inputs has been eliminated
  • A buffer overflow vulnerability occurring during .lzh decompression following .Z file decompression has been patched
  • Output corruption during .lzh decompression caused by an uncleared internal bit buffer has been resolved
  • Decoding table contamination from previous .lzh files no longer corrupts subsequent decompression operations
  • The gzip --synchronous option now properly synchronizes parent directories on platforms supporting O_PATH or O_SEARCH
  • Temporary file creation race conditions in gzexe, zdiff, and znew on platforms without mktemp have been eliminated

Behavioral Changes

Several modifications alter how gzip operates, warranting user awareness:

  • gzip now respects locale settings from the environment rather than enforcing the "C" locale, affecting floating-point number formatting in -l and -v output, though diagnostic messages remain in English
  • The gzip -l command displays "-Inf%" instead of "0.0%" when reporting the compression ratio for empty files
  • znew's -P option is now disregarded with a warning, as its buggy implementation no longer justifies continued support

Discontinued Platform Support

The release drops support for four legacy platforms: FreeBSD 4.11 (released 2005), HP-UX 11.00 (1997), Minix 3.1.8 (2010), and MS-Windows 8.1 (2013).

Additional details and download options are accessible through the official GNU gzip website.

Source: FOSS Force · Reporting supplemented by The Silicon Ledger staff.