summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-05-14 18:00:09 +0200
committerMichael Niedermayer <michaelni@gmx.at>2015-05-14 18:12:30 +0200
commitc5c06e392b56ad19c560924ef17ab31920ffceb7 (patch)
tree9e96b0d7157e4030e7197df13fd98955033dae79 /libavcodec
parent139e1c8009df7729a53eaaae7036ca01071aced5 (diff)
avcodec/cavsdec: Check frame_rate_code
Fixes CID1239111 part1 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/cavsdec.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/cavsdec.c b/libavcodec/cavsdec.c
index 834092f0dd..a642dc7b2e 100644
--- a/libavcodec/cavsdec.c
+++ b/libavcodec/cavsdec.c
@@ -1146,6 +1146,12 @@ static int decode_seq_header(AVSContext *h)
skip_bits(&h->gb, 3); //sample_precision
h->aspect_ratio = get_bits(&h->gb, 4);
frame_rate_code = get_bits(&h->gb, 4);
+ if (frame_rate_code == 0 || frame_rate_code > 13) {
+ av_log(h->avctx, AV_LOG_WARNING,
+ "frame_rate_code %d is invalid\n", frame_rate_code);
+ frame_rate_code = 1;
+ }
+
skip_bits(&h->gb, 18); //bit_rate_lower
skip_bits1(&h->gb); //marker_bit
skip_bits(&h->gb, 12); //bit_rate_upper