diff options
author | Olivier CrĂȘte <olivier.crete@collabora.com> | 2011-07-12 18:03:53 -0400 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.com> | 2011-07-12 18:03:53 -0400 |
commit | 0b6cc7eb96dda3ceb79fc7c143e7426877586c98 (patch) | |
tree | bdf6a6b600b529bbf7062855a7397f589ffbec84 /gst/rtpvp8 | |
parent | 9eba99542f66fabb78a5d34517870ebaef1cb9b7 (diff) | |
download | gstreamer-plugins-bad-0b6cc7eb96dda3ceb79fc7c143e7426877586c98.tar.gz |
rtpvp8: Reject unknown bitstream versions
Diffstat (limited to 'gst/rtpvp8')
-rw-r--r-- | gst/rtpvp8/gstrtpvp8pay.c | 5 |
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); |