June 15, 2026
3:06 p.m.
Esme Povirk (@madewokherd) commented about dlls/windowscodecs/gifformat.c:
seek.QuadPart = 0; IStream_Seek(stream, seek, STREAM_SEEK_SET, NULL);
+ /* keep stream for on-demand frame decoding */ + IStream_AddRef(stream); + decoder->stream = stream; + /* read all data from the stream */ decoder->gif = DGifOpen((void *)stream, _gif_inputfunc); if (!decoder->gif) + { + IStream_Release(stream);
We should set `decoder->stream` to NULL when releasing it, so we don't release it twice when the object is freed. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11149#note_143158