From d8d124eebcf2ec1f6a1936b12a4f00a48f08e85c Mon Sep 17 00:00:00 2001 From: Vittorio Giovara Date: Mon, 15 Jun 2015 18:27:53 +0100 Subject: [PATCH] aic: Improve error reporting --- libavcodec/aic.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/libavcodec/aic.c b/libavcodec/aic.c index 5687dbeb00..4782294118 100644 --- a/libavcodec/aic.c +++ b/libavcodec/aic.c @@ -385,8 +385,11 @@ static int aic_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, return AVERROR_INVALIDDATA; } - if ((ret = aic_decode_header(ctx, buf, buf_size)) < 0) + ret = aic_decode_header(ctx, buf, buf_size); + if (ret < 0) { + av_log(avctx, AV_LOG_ERROR, "Invalid header\n"); return ret; + } if ((ret = ff_get_buffer(avctx, ctx->frame, 0)) < 0) return ret; @@ -398,13 +401,17 @@ static int aic_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, for (x = 0; x < ctx->mb_width; x += ctx->slice_width) { slice_size = bytestream2_get_le16(&gb) * 4; if (slice_size + off > buf_size || !slice_size) { - av_log(avctx, AV_LOG_ERROR, "Incorrect slice size\n"); + av_log(avctx, AV_LOG_ERROR, + "Incorrect slice size %d at %d.%d\n", slice_size, x, y); return AVERROR_INVALIDDATA; } - if ((ret = aic_decode_slice(ctx, x, y, - buf + off, slice_size)) < 0) + ret = aic_decode_slice(ctx, x, y, buf + off, slice_size); + if (ret < 0) { + av_log(avctx, AV_LOG_ERROR, + "Error decoding slice at %d.%d\n", x, y); return ret; + } off += slice_size; }