summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis de Bethencourt <luis@debethencourt.com>2015-08-12 14:59:53 +0100
committerTim-Philipp Müller <tim@centricular.com>2016-02-16 00:24:40 +0000
commit470c8b37208ff300f7bddd2868be9ffb04afee7c (patch)
tree946935d534d0147e7e5224067318c8d779dfff52
parent7ae49b46ffc7e333993cc229ceb94c5218c0a6f0 (diff)
downloadgstreamer-plugins-good-470c8b37208ff300f7bddd2868be9ffb04afee7c.tar.gz
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
-rw-r--r--gst/rtp/gstrtph265depay.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gst/rtp/gstrtph265depay.c b/gst/rtp/gstrtph265depay.c
index 941a5dbf8..15599ccd8 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: