aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-04-08 22:18:35 +0200
committerMichael Niedermayer <michaelni@gmx.at>2015-04-17 15:20:29 +0200
commit6f02d93c0fbf29e717ef99ad36272c1958f34dc8 (patch)
treec777f8db10c1a0ef6eafcc8c7ac8039a906107d6
parent9333ee7c0db1d360eb2fa84cd129e286df83b817 (diff)
downloadffmpeg-6f02d93c0fbf29e717ef99ad36272c1958f34dc8.tar.gz
avcodec/h264_ps: Move truncation check from VUI to SPS
This more completely checks for truncation Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 32e06c485be94a4967bff87022cbb065d3cbfd0d) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/h264_ps.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c
index c2747ac84c..a9c199fe62 100644
--- a/libavcodec/h264_ps.c
+++ b/libavcodec/h264_ps.c
@@ -241,12 +241,6 @@ static inline int decode_vui_parameters(H264Context *h, SPS *sps)
}
}
- if (get_bits_left(&h->gb) < 0) {
- av_log(h->avctx, AV_LOG_ERROR,
- "Overread VUI by %d bits\n", -get_bits_left(&h->gb));
- return AVERROR_INVALIDDATA;
- }
-
return 0;
}
@@ -523,6 +517,12 @@ int ff_h264_decode_seq_parameter_set(H264Context *h)
goto fail;
}
+ if (get_bits_left(&h->gb) < 0) {
+ av_log(h->avctx, AV_LOG_ERROR,
+ "Overread %s by %d bits\n", sps->vui_parameters_present_flag ? "VUI" : "SPS", -get_bits_left(&h->gb));
+ goto fail;
+ }
+
if (!sps->sar.den)
sps->sar.den = 1;