You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
Merge commit '0f678c0214dccb355ed8955077a2bea46984fbc8'
* commit '0f678c0214dccb355ed8955077a2bea46984fbc8':
aic: Validate values read from the bitstream
Conflicts:
libavcodec/aic.c
See: 657875b145
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -223,7 +223,7 @@ static int aic_decode_coeffs(GetBitContext *gb, int16_t *dst,
|
|||||||
break;
|
break;
|
||||||
GET_CODE(val, coeff_type, coeff_bits);
|
GET_CODE(val, coeff_type, coeff_bits);
|
||||||
val++;
|
val++;
|
||||||
if (val >= 0x10000)
|
if (val >= 0x10000 || val < 0)
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
dst[scan[idx]] = val;
|
dst[scan[idx]] = val;
|
||||||
} while (idx < num_coeffs - 1);
|
} while (idx < num_coeffs - 1);
|
||||||
@@ -233,7 +233,7 @@ static int aic_decode_coeffs(GetBitContext *gb, int16_t *dst,
|
|||||||
for (mb = 0; mb < slice_width; mb++) {
|
for (mb = 0; mb < slice_width; mb++) {
|
||||||
for (idx = 0; idx < num_coeffs; idx++) {
|
for (idx = 0; idx < num_coeffs; idx++) {
|
||||||
GET_CODE(val, coeff_type, coeff_bits);
|
GET_CODE(val, coeff_type, coeff_bits);
|
||||||
if (val >= 0x10000)
|
if (val >= 0x10000 || val < 0)
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
dst[scan[idx]] = val;
|
dst[scan[idx]] = val;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user