mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
huffyuv: Return proper error codes
This commit is contained in:
parent
3160bdc7f7
commit
6234058148
@ -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)
|
|||||||
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,
|
|||||||
}
|
}
|
||||||
|
|
||||||
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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user