mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avcodec: reject audio packets with NULL data and non-zero size
There is no valid reason the user should ever send such packets in the first place, but the documentation for CODEC_CAP_DELAY states that the codec is guaranteed not to get a NULL packet unless that capability is set. That isn't true without preventing this case.
This commit is contained in:
parent
dcce09d64b
commit
6326afd5e9
@ -747,6 +747,11 @@ int attribute_align_arg avcodec_decode_audio3(AVCodecContext *avctx, int16_t *sa
|
|||||||
|
|
||||||
avctx->pkt = avpkt;
|
avctx->pkt = avpkt;
|
||||||
|
|
||||||
|
if (!avpkt->data && avpkt->size) {
|
||||||
|
av_log(avctx, AV_LOG_ERROR, "invalid packet: NULL data, size != 0\n");
|
||||||
|
return AVERROR(EINVAL);
|
||||||
|
}
|
||||||
|
|
||||||
if((avctx->codec->capabilities & CODEC_CAP_DELAY) || avpkt->size){
|
if((avctx->codec->capabilities & CODEC_CAP_DELAY) || avpkt->size){
|
||||||
//FIXME remove the check below _after_ ensuring that all audio check that the available space is enough
|
//FIXME remove the check below _after_ ensuring that all audio check that the available space is enough
|
||||||
if(*frame_size_ptr < AVCODEC_MAX_AUDIO_FRAME_SIZE){
|
if(*frame_size_ptr < AVCODEC_MAX_AUDIO_FRAME_SIZE){
|
||||||
|
Loading…
Reference in New Issue
Block a user