summaryrefslogtreecommitdiff
path: root/gst/rtp/gstrtpvp8pay.c
diff options
context:
space:
mode:
authorOlivier Crête <olivier.crete@collabora.com>2011-07-12 18:03:53 -0400
committerTim-Philipp Müller <tim@centricular.net>2012-11-01 20:53:47 +0000
commit97c3f3617cad778dfe7ccd8470b6e0f83971910f (patch)
treedec591ec6ed3742d1bcbed57772cbf4d4ddf2875 /gst/rtp/gstrtpvp8pay.c
parent74a1a704bf2726260ffbf2686ef8cceb184a6f1a (diff)
rtpvp8: Reject unknown bitstream versions
Diffstat (limited to 'gst/rtp/gstrtpvp8pay.c')
-rw-r--r--gst/rtp/gstrtpvp8pay.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/rtp/gstrtpvp8pay.c b/gst/rtp/gstrtpvp8pay.c
index b54ec2898..c6c773dca 100644
--- a/gst/rtp/gstrtpvp8pay.c
+++ b/gst/rtp/gstrtpvp8pay.c
@@ -141,6 +141,11 @@ gst_rtp_vp8_pay_parse_frame (GstRtpVP8Pay * self, GstBuffer * buffer)
self->is_keyframe = keyframe = ((data[0] & 0x1) == 0);
version = (data[0] >> 1) & 0x7;
+ if (G_UNLIKELY (version > 3)) {
+ GST_ERROR_OBJECT (self, "Unknown VP8 version %u", version);
+ goto error;
+ }
+
/* keyframe, version and show_frame use 5 bits */
header_size = data[2] << 11 | data[1] << 3 | (data[0] >> 5);