mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
Merge commit '19dd4017ab6dac11c77d797acebee4f60ad63a6f'
* commit '19dd4017ab6dac11c77d797acebee4f60ad63a6f': libopencore-amr: Add the missing 3rd argument of ff_get_buffer() vmdaudio: fix invalid reads when packet size is not a multiple of chunk size wmaprodec: return an error, not 0, when the input is too small. Conflicts: libavcodec/vmdav.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
bf780b7ea8
@ -619,7 +619,7 @@ static int vmdaudio_decode_frame(AVCodecContext *avctx, void *data,
|
||||
/* decode audio chunks */
|
||||
if (audio_chunks > 0) {
|
||||
buf_end = buf + buf_size;
|
||||
while ( buf_end - buf >= s->chunk_size) {
|
||||
while (buf_end - buf >= s->chunk_size) {
|
||||
if (s->out_bps == 2) {
|
||||
decode_audio_s16(output_samples_s16, buf, s->chunk_size,
|
||||
avctx->channels);
|
||||
|
@ -1513,8 +1513,11 @@ static int decode_packet(AVCodecContext *avctx, void *data,
|
||||
s->packet_done = 0;
|
||||
|
||||
/** sanity check for the buffer length */
|
||||
if (buf_size < avctx->block_align)
|
||||
return 0;
|
||||
if (buf_size < avctx->block_align) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Input packet too small (%d < %d)\n",
|
||||
buf_size, avctx->block_align);
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
|
||||
s->next_packet_start = buf_size - avctx->block_align;
|
||||
buf_size = avctx->block_align;
|
||||
|
Loading…
Reference in New Issue
Block a user