Menu

#142 ABI break (Removal of - inter alia - public symbol GifQuantizeBuffer ) - third party software affected

v1.0_(example)
closed
nobody
None
1
2026-02-19
2019-08-19
No

Hello,

5.2 removes multiple formerly exported symbols from libgif, one of these (GifQuantizeBuffer) causes real world problems in libgif using software. Running a quick check over Debian's archive we find that exactimage, mplayer-gui, mplayer, qutemol and xplanet are broken by upgrading libgif from 5.1 to 5.2.

The rationale given is this one:

The undocumented and deprecated GifQuantizeBuffer() entry point
has been moved to the util library to reduce libgif size and attack
surface. Applications needing this function are couraged to link the
util library or make their own copy.

GifQuantizeBuffer was really a part of libgif's public ABI. Quoting NEWS for 5.0.0:

QuantizeBuffer() has been returned to the core library as GifQuantizeBuffer()

Please either fix the ABI break by restoring GifQuantizeBuffer or do a proper symbol removal, with a soname bump.

If you choose to do a soname bump please also add symbol versioning - I will happily try to provide a minimal patch.

TIA, cu Andreas

Discussion

  • Andreas Metzler

    Andreas Metzler - 2019-11-17

    Ping?

     
  • Deiv

    Deiv - 2019-11-25

    Any update ?

     
  • FeRD

    FeRD - 2020-01-01

    Just as a data point, the current Fedora giflib package moves it back, in response to a downstream bug report from a user encountering these same issues while using libgdiplus with Mono.

     
  • Mattia Rizzolo

    Mattia Rizzolo - 2022-04-21

    FYI, in Debian I applied the same patch as fedora (though this version is not yet used, still in experimental at this time).

    https://bugs.debian.org/935088

     
  • Eric S. Raymond

    Eric S. Raymond - 2024-02-18

    I apologize for the long delay. I had stomach cancer and was sidelined for nearly two years.

    I'll take a patch to do a soname bump.

     
  • FeRD

    FeRD - 2024-02-18

    I think that patch already exists as https://sourceforge.net/p/giflib/code/merge-requests/8/ tho it may be out of date after the flurry of recent commits.

     
  • Eric S. Raymond

    Eric S. Raymond - 2026-02-19
    • status: open --> closed
     
  • Eric S. Raymond

    Eric S. Raymond - 2026-02-19

    Fixed.

     

Log in to post a comment.

MongoDB Logo MongoDB