diff --git a/libavcodec/gsmdec.c b/libavcodec/gsmdec.c index f084b14553..1091745f4b 100644 --- a/libavcodec/gsmdec.c +++ b/libavcodec/gsmdec.c @@ -66,8 +66,10 @@ static int gsm_decode_frame(AVCodecContext *avctx, void *data, return AVERROR(EINVAL); } - if(buf_size < avctx->block_align) + if (buf_size < avctx->block_align) { + av_log(avctx, AV_LOG_ERROR, "Packet is too small\n"); return AVERROR_INVALIDDATA; + } switch (avctx->codec_id) { case CODEC_ID_GSM: diff --git a/libavcodec/libgsm.c b/libavcodec/libgsm.c index 790eacd6dd..1b12ca45e6 100644 --- a/libavcodec/libgsm.c +++ b/libavcodec/libgsm.c @@ -175,7 +175,11 @@ static int libgsm_decode_frame(AVCodecContext *avctx, return AVERROR(EINVAL); } - if(buf_size < avctx->block_align) return -1; + if (buf_size < avctx->block_align) { + av_log(avctx, AV_LOG_ERROR, "Packet is too small\n"); + return AVERROR_INVALIDDATA; + } + switch(avctx->codec_id) { case CODEC_ID_GSM: if(gsm_decode(avctx->priv_data,buf,data)) return -1;