From: Thiago Santos Date: Wed, 4 Feb 2015 05:25:44 +0000 (-0300) Subject: rtph264depay: prevent trying to get 0 bytes from adapter X-Git-Tag: 1.6.0~627 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a6d73797d091a0e4ac33eaf516056103f7ffb1e8;p=platform%2Fupstream%2Fgst-plugins-good.git rtph264depay: prevent trying to get 0 bytes from adapter This causes an assertion and would lead to getting a NULL instead of a buffer. Without proper checking this would easily lead to a segfault https://bugzilla.gnome.org/show_bug.cgi?id=737199 --- diff --git a/gst/rtp/gstrtph264depay.c b/gst/rtp/gstrtph264depay.c index 586cf73..756730c 100644 --- a/gst/rtp/gstrtph264depay.c +++ b/gst/rtp/gstrtph264depay.c @@ -955,10 +955,12 @@ gst_rtp_h264_depay_process (GstRTPBaseDepayload * depayload, GstBuffer * buf) } outsize = gst_adapter_available (rtph264depay->adapter); - outbuf = gst_adapter_take_buffer (rtph264depay->adapter, outsize); - - outbuf = gst_rtp_h264_depay_handle_nal (rtph264depay, outbuf, timestamp, - marker); + if (outsize > 0) { + outbuf = gst_adapter_take_buffer (rtph264depay->adapter, outsize); + outbuf = + gst_rtp_h264_depay_handle_nal (rtph264depay, outbuf, timestamp, + marker); + } break; } case 26: