From af3f75f3a9d0c60d2c3c1878a7883fe01084cbfb Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 12 Nov 2012 11:17:56 +0100 Subject: [PATCH] rtpbuffer: protect against empty buffers --- gst-libs/gst/rtp/gstrtpbuffer.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gst-libs/gst/rtp/gstrtpbuffer.c b/gst-libs/gst/rtp/gstrtpbuffer.c index b9d5675225..800752e226 100644 --- a/gst-libs/gst/rtp/gstrtpbuffer.c +++ b/gst-libs/gst/rtp/gstrtpbuffer.c @@ -327,6 +327,9 @@ gst_rtp_buffer_map (GstBuffer * buffer, GstMapFlags flags, GstRTPBuffer * rtp) g_return_val_if_fail (rtp != NULL, FALSE); g_return_val_if_fail (rtp->buffer == NULL, FALSE); + if (gst_buffer_n_memory (buffer) < 1) + goto no_memory; + /* map first memory, this should be the header */ if (!gst_buffer_map_range (buffer, 0, 1, &rtp->map[0], flags)) goto map_failed; @@ -420,6 +423,11 @@ gst_rtp_buffer_map (GstBuffer * buffer, GstMapFlags flags, GstRTPBuffer * rtp) return TRUE; /* ERRORS */ +no_memory: + { + GST_ERROR ("buffer without memory"); + return FALSE; + } map_failed: { GST_ERROR ("failed to map memory");