summaryrefslogtreecommitdiff
path: root/gst/rtpvp8
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2011-07-12 18:03:53 -0400
committerOlivier CrĂȘte <olivier.crete@collabora.com>2011-07-12 18:03:53 -0400
commit0b6cc7eb96dda3ceb79fc7c143e7426877586c98 (patch)
treebdf6a6b600b529bbf7062855a7397f589ffbec84 /gst/rtpvp8
parent9eba99542f66fabb78a5d34517870ebaef1cb9b7 (diff)
downloadgstreamer-plugins-bad-0b6cc7eb96dda3ceb79fc7c143e7426877586c98.tar.gz
rtpvp8: Reject unknown bitstream versions
Diffstat (limited to 'gst/rtpvp8')
-rw-r--r--gst/rtpvp8/gstrtpvp8pay.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/rtpvp8/gstrtpvp8pay.c b/gst/rtpvp8/gstrtpvp8pay.c
index b54ec2898..c6c773dca 100644
--- a/gst/rtpvp8/gstrtpvp8pay.c
+++ b/gst/rtpvp8/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);