Commit 62340581 authored by Diego Biurrun's avatar Diego Biurrun

huffyuv: Return proper error codes

parent 3160bdc7
...@@ -98,7 +98,7 @@ static int read_len_table(uint8_t *dst, GetBitContext *gb) ...@@ -98,7 +98,7 @@ static int read_len_table(uint8_t *dst, GetBitContext *gb)
repeat = get_bits(gb, 8); repeat = get_bits(gb, 8);
if (i + repeat > 256 || get_bits_left(gb) < 0) { if (i + repeat > 256 || get_bits_left(gb) < 0) {
av_log(NULL, AV_LOG_ERROR, "Error reading huffman table\n"); av_log(NULL, AV_LOG_ERROR, "Error reading huffman table\n");
return -1; return AVERROR_INVALIDDATA;
} }
while (repeat--) while (repeat--)
dst[i++] = val; dst[i++] = val;
...@@ -261,7 +261,7 @@ static av_cold int decode_init(AVCodecContext *avctx) ...@@ -261,7 +261,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
int method, interlace; int method, interlace;
if (avctx->extradata_size < 4) if (avctx->extradata_size < 4)
return -1; return AVERROR_INVALIDDATA;
method = avctx->extradata[0]; method = avctx->extradata[0];
s->decorrelate = method & 64 ? 1 : 0; s->decorrelate = method & 64 ? 1 : 0;
...@@ -508,7 +508,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, ...@@ -508,7 +508,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
} }
if ((unsigned) (buf_size - table_size) >= INT_MAX / 8) if ((unsigned) (buf_size - table_size) >= INT_MAX / 8)
return -1; return AVERROR_INVALIDDATA;
init_get_bits(&s->gb, s->bitstream_buffer + table_size, init_get_bits(&s->gb, s->bitstream_buffer + table_size,
(buf_size - table_size) * 8); (buf_size - table_size) * 8);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment