Merge commit 'd8d124eebcf2ec1f6a1936b12a4f00a48f08e85c'

* commit 'd8d124eebcf2ec1f6a1936b12a4f00a48f08e85c':
  aic: Improve error reporting

Merged-by: Michael Niedermayer <michaelni@gmx.at>
pull/138/head
Michael Niedermayer 10 years ago
commit 98b95e7466
  1. 15
      libavcodec/aic.c

@ -387,8 +387,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;
@ -400,13 +403,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;
}

Loading…
Cancel
Save