Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-04-08 23:18:35 +0300
committerMichael Niedermayer <michaelni@gmx.at>2015-04-08 23:19:56 +0300
commit32e06c485be94a4967bff87022cbb065d3cbfd0d (patch)
tree399a951ba47ff1daa678892cfa167b407606cdec /libavcodec/h264_ps.c
parent48f27b78f4bcb26fc214f8815427e615adbfda40 (diff)
avcodec/h264_ps: Move truncation check from VUI to SPS
This more completely checks for truncation Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/h264_ps.c')
-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 362b8ea15f..ac316ac674 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;