root
root copied to clipboard
libAfterImage: TEve broken with giflib 5
- [x] Checked for duplicates (related to https://sft.its.cern.ch/jira/browse/ROOT-7904)
Describe the bug
A patch from Gentoo imported in d9ca8cb6e3b1e4bdd70041c43805f0851aea7c9e (https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libafterimage/files/libafterimage-giflib5-v2.patch) contains a bogus call
+#if (GIFLIB_MAJOR>=5)
+ if ((status = GifAddExtensionBlock(&temp_save.ExtensionBlockCount, &temp_save.ExtensionBlocks,
+ ExtCode, sizeof(ExtData), ExtData)) == GIF_OK)
+ status = DGifGetExtension(gif,&ExtCode,&ExtData);
+#else
where
GifByteType *ExtData;
so sizeof(ExtData)
is a size of a pointer when it's probably has to be a size of some data block.
Which results in a crash when trying to use TEve:
gif2ASImage():2300:</nix/store/jhzzgdncnmwzdb2jp9dhmv9bb2nyxcl3-root-6.24.06/icons/eve_text.gif> (null)
*** Break *** segmentation violation
Expected behavior
TEve works.
To Reproduce
Setup
ROOT 6.24.06 compiled against an external libAfterImage, with the same Gentoo patches applied to compile against giflib 5 Crash reproduced on macOS.
Additional context
@veprbl Can you check that https://github.com/root-project/root/pull/10999 fixes the problem?
Hi @couet, @osschar, @linev,
It appears this issue is closed, but wasn't yet added to a project. Please add upcoming versions that will include the fix, or 'not applicable' otherwise.
Sincerely, :robot:
Hi @couet, @osschar, @linev,
It appears this issue is closed, but wasn't yet added to a project. Please add upcoming versions that will include the fix, or 'not applicable' otherwise.
Sincerely, :robot: