Commit c12c085b authored by Tim Walker's avatar Tim Walker Committed by Luca Barbato

dcadec: Do not check for overreads in auxiliary data

The auxiliary data length field is not reliable,
and incorrect overread errors could be returned
for valid, real-world bitstreams.
Signed-off-by: 's avatarLuca Barbato <lu_zero@gentoo.org>
parent c8fa6478
...@@ -1086,12 +1086,12 @@ static int dca_subframe_footer(DCAContext *s, int base_channel) ...@@ -1086,12 +1086,12 @@ static int dca_subframe_footer(DCAContext *s, int base_channel)
align_get_bits(&s->gb); // byte align align_get_bits(&s->gb); // byte align
skip_bits(&s->gb, 16); // nAUXCRC16 skip_bits(&s->gb, 16); // nAUXCRC16
// additional data (reserved, cf. ETSI TS 102 114 V1.4.1) /*
if ((reserved = (aux_data_end - get_bits_count(&s->gb))) < 0) { * additional data (reserved, cf. ETSI TS 102 114 V1.4.1)
av_log(s->avctx, AV_LOG_ERROR, *
"Overread auxiliary data by %d bits\n", -reserved); * Note: don't check for overreads, aux_data_count can't be trusted.
return AVERROR_INVALIDDATA; */
} else if (reserved) { if ((reserved = (aux_data_end - get_bits_count(&s->gb))) > 0) {
avpriv_request_sample(s->avctx, avpriv_request_sample(s->avctx,
"Core auxiliary data reserved content"); "Core auxiliary data reserved content");
skip_bits_long(&s->gb, reserved); skip_bits_long(&s->gb, reserved);
......
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