Diego Biurrun <[email protected]> writes:
> I see no more issues, I just want to run this through Oracle, once the
> TDSC decoder is through.
Thanks for taking care of this!
> + if (chset->downmix_ncoeffs > DCA_XLL_DMIX_NCOEFFS_MAX) {
> + av_log(s->avctx, AV_LOG_WARNING,
> + "XLL: Skipping %d downmix coefficients, exceeding
> implementation limit %d\n",
> + chset->downmix_ncoeffs, DCA_XLL_DMIX_NCOEFFS_MAX);
> + skip_bits_long(&s->gb, 9 * chset->downmix_ncoeffs);
> + chset->downmix_ncoeffs = 0;
I still think it would make sense with a return AVERROR_PATCHWELCOME
here. The alternatives are to either
1. Make the code reading chset->downmix_coeffs (that's close to the end
of ff_dca_xll_decode_audio) check for chset->downmix_ncoeffs == 0,
and do something not too insane, or error out at that time.
2. Allocate chset->downmix_coeffs dynamically.
Otherwise, we risk reading garbage, as well as reading beyond the end of
the buffer.
Regards,
/Niels
--
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel