From 470c8b37208ff300f7bddd2868be9ffb04afee7c Mon Sep 17 00:00:00 2001 From: Luis de Bethencourt Date: Wed, 12 Aug 2015 14:59:53 +0100 Subject: [PATCH] rtph265depay: 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. Related to rpth264depay: https://bugzilla.gnome.org/show_bug.cgi?id=737199 --- gst/rtp/gstrtph265depay.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gst/rtp/gstrtph265depay.c b/gst/rtp/gstrtph265depay.c index 941a5dbf82..15599ccd8a 100644 --- a/gst/rtp/gstrtph265depay.c +++ b/gst/rtp/gstrtph265depay.c @@ -1167,10 +1167,12 @@ gst_rtp_h265_depay_process (GstRTPBaseDepayload * depayload, GstBuffer * buf) } outsize = gst_adapter_available (rtph265depay->adapter); - outbuf = gst_adapter_take_buffer (rtph265depay->adapter, outsize); - - outbuf = gst_rtp_h265_depay_handle_nal (rtph265depay, outbuf, timestamp, - marker); + if (outsize > 0) { + outbuf = gst_adapter_take_buffer (rtph265depay->adapter, outsize); + outbuf = + gst_rtp_h265_depay_handle_nal (rtph265depay, outbuf, timestamp, + marker); + } break; } case 49: