summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/gsmdec.c4
-rw-r--r--libavcodec/libgsm.c6
2 files changed, 8 insertions, 2 deletions
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;