mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-20 08:41:07 +00:00
10d42caef2
The counter was using a signed 8 bit integer, which was overflowing after 127 entries. That was then passed as an unsigned 32 bit integer to libflac, which caused it to be converted to a huge unsigned number. That then caused an invalid memory access inside libflac. As a bonus, signed integer overflow is undefined behaviour. Instead, use an unsigned 8 bit integer. Once this overflows the existing code already catches it and stops adding the cue. While FLAC__metadata_object_cuesheet_insert_track() takes an unsigned 32 bit integer for the track number, FLAC__StreamMetadata_CueSheet_Track is limiting it to an unsigned 8 bit integer. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2921 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5436> |
||
---|---|---|
.. | ||
aalib | ||
adaptivedemux2 | ||
cairo | ||
dv | ||
flac | ||
gdk_pixbuf | ||
gtk | ||
jack | ||
jpeg | ||
lame | ||
libcaca | ||
libpng | ||
mpg123 | ||
pulse | ||
qt | ||
qt6 | ||
raw1394 | ||
shout2 | ||
soup | ||
speex | ||
taglib | ||
twolame | ||
vpx | ||
wavpack | ||
meson.build |