mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
gst/rtp/gstrtph263pdepay.c: Check that a buffer is large enough before reading from it.
Original commit message from CVS: Patch by: Olivier Crete <tester at tester dot ca> * gst/rtp/gstrtph263pdepay.c: (gst_rtp_h263p_depay_process): Check that a buffer is large enough before reading from it. Fixes bug #521102.
This commit is contained in:
parent
41e9c150f6
commit
c7296fe79a
3 changed files with 15 additions and 1 deletions
|
@ -1,3 +1,11 @@
|
|||
2008-03-08 Sebastian Dröge <slomo@circular-chaos.org>
|
||||
|
||||
Patch by: Olivier Crete <tester at tester dot ca>
|
||||
|
||||
* gst/rtp/gstrtph263pdepay.c: (gst_rtp_h263p_depay_process):
|
||||
Check that a buffer is large enough before reading from it.
|
||||
Fixes bug #521102.
|
||||
|
||||
2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||
|
||||
* gst/udp/gstudpsrc.c: (gst_udpsrc_start):
|
||||
|
|
2
common
2
common
|
@ -1 +1 @@
|
|||
Subproject commit e02bd43fe6b9e45536eccbf5b7a5f9eae62030fd
|
||||
Subproject commit 170f8e91adc7157f6e708ffa58ca22d10e4e45da
|
|
@ -265,6 +265,9 @@ gst_rtp_h263p_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
|
|||
|
||||
header_len = 2;
|
||||
|
||||
if (payload_len < header_len)
|
||||
goto bad_packet;
|
||||
|
||||
M = gst_rtp_buffer_get_marker (buf);
|
||||
|
||||
/* 0 1
|
||||
|
@ -285,6 +288,9 @@ gst_rtp_h263p_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
|
|||
header_len += PLEN;
|
||||
}
|
||||
|
||||
if ((!P && payload_len < header_len) || (P && payload_len < header_len - 2))
|
||||
goto bad_packet;
|
||||
|
||||
if (P) {
|
||||
rtph263pdepay->wait_start = FALSE;
|
||||
header_len -= 2;
|
||||
|
|
Loading…
Reference in a new issue