Skip to content

3.19.22

Choose a tag to compare

@danoli3 danoli3 released this 14 Oct 11:31
· 117 commits to master since this release
546cf69

FreeImage 3.19.22

Security fixes for IFF PBM decoding, improved 32-bit compatibility, and installable Linux packages.

  • Fix an IFF PBM RLE heap buffer overflow by checking scanline bounds for literal and repeated pixels. (#156, #161)
  • Prevent malformed PBM files from hanging the decoder. Reject truncated commands and payloads, and stop decoding at the declared BODY boundary. These robustness/DoS fixes are separate from the heap overflow fix. (#162)
  • Add 12 PBM regression tests, including malformed inputs and byte-for-byte checks for valid images, with GCC AddressSanitizer coverage.
  • Fix OpenJPH SSE compilation on 32-bit GCC and add MinGW i686 static/shared CI coverage. (#155)
  • Fix public-header type redefinition conflicts with MSVC 2013 and newer. (#159)
  • Set CMake shared-library VERSION and SOVERSION properties. (#157)
  • Add Arch Linux, Debian 13, and Ubuntu 24.04 packages, with system codec dependencies and pkg-config/CMake installation checks. (#160)
  • Numeric release tags now build and attach Linux packages, a source archive, an Arch recipe, and SHA-256 checksums to the GitHub release.

Bundled codec versions are unchanged from 3.19.21.

What's Changed

  • Set version properties for FreeImage target by @oold in #157
  • Update compatibility checks for MSVC integer types in FreeImage.h by @oold in #159
  • Fix OpenJPH SIMD on 32-bit GCC and add MinGW32 CI by @danoli3 in #155
  • Add installable Linux packages and clean-container package tests by @danoli3 in #160
  • fix heap overflow in IFF PBM RLE decompression by @areofyl in #161
  • Harden PBM RLE short reads and no-op termination by @danoli3 in #162
  • FreeImage 3.19.22 by @danoli3 in #163

New Contributors

Full Changelog: 3.19.21...3.19.22