[FFmpeg-trac] #8513(avcodec:open): Assertion failure while converting into EAC3 with bitrate >= 900 kbps: put_bits buffer too small
FFmpeg
trac at avcodec.org
Mon Mar 29 18:36:33 EEST 2021
#8513: Assertion failure while converting into EAC3 with bitrate >= 900 kbps:
put_bits buffer too small
-------------------------------------+-------------------------------------
Reporter: ackbc | Owner:
Type: defect | Status: open
Priority: important | Component: avcodec
Version: git-master | Resolution:
Keywords: eac3 crash | Blocked By:
abort regression |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by mkver):
This is not ticket #8350 in which case the put_bits buffer is so huge that
the multiplication in "s->size_in_bits = 8 * buffer_size;" (that's the
line that is removed in this patch) overflows a typical 32bit int. A
pointer comparison can never overflow (but if the pointers aren't
comparable, the comparison is undefined behaviour).
Regarding this bug: ac3_output_frame() in libavcodec/ac3enc.c sets the
size of the put_bits buffer to 3840, even when the actually allocated
packet is smaller than this. That is definitely wrong.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8513#comment:10>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list