Module: libav Branch: master Commit: 4987faee78b9869f8f4646b8dd971d459df218a5
Author: Luca Barbato <[email protected]> Committer: Luca Barbato <[email protected]> Date: Mon Mar 4 11:21:08 2013 +0100 h264: check for luma and chroma bit dept being equal The decoder assumes a single bit depth for all the planes while the specification allows different bit depths for luma and chroma. Avoid the possible problems described in CVE-2013-2277 CC: [email protected] --- libavcodec/h264.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index e7186c8..0b22613 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -2745,6 +2745,12 @@ static int h264_set_parameter_from_sps(H264Context *h) if (h->avctx->has_b_frames < 2) h->avctx->has_b_frames = !h->low_delay; + if (h->sps.bit_depth_luma != h->sps.bit_depth_chroma) { + av_log_missing_feature(h->avctx, + "Different bit depth between chroma and luma", 1); + return AVERROR_PATCHWELCOME; + } + if (h->avctx->bits_per_raw_sample != h->sps.bit_depth_luma || h->cur_chroma_format_idc != h->sps.chroma_format_idc) { if (h->avctx->codec && _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
