diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2016-11-28 09:30:25 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2016-11-28 09:30:25 +0200 |
commit | d0f608f60ba9b14fbec52eca892015061419e922 (patch) | |
tree | ec0d5f6418d9d3949f8b7760de5ffe3e40544f9a | |
parent | 91f5b4eaa2fcd874361d16bdf80497c3cdd12d13 (diff) |
vrawpay: Error out cleanly if mapping the video frame fails
Instead of later dereferencing NULL and crashing.
-rw-r--r-- | gst/rtp/gstrtpvrawpay.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gst/rtp/gstrtpvrawpay.c b/gst/rtp/gstrtpvrawpay.c index 19367434b..9368936b1 100644 --- a/gst/rtp/gstrtpvrawpay.c +++ b/gst/rtp/gstrtpvrawpay.c @@ -284,7 +284,10 @@ gst_rtp_vraw_pay_handle_buffer (GstRTPBasePayload * payload, GstBuffer * buffer) rtpvrawpay = GST_RTP_VRAW_PAY (payload); - gst_video_frame_map (&frame, &rtpvrawpay->vinfo, buffer, GST_MAP_READ); + if (!gst_video_frame_map (&frame, &rtpvrawpay->vinfo, buffer, GST_MAP_READ)) { + gst_buffer_unref (buffer); + return GST_FLOW_ERROR; + } GST_LOG_OBJECT (rtpvrawpay, "new frame of %" G_GSIZE_FORMAT " bytes", gst_buffer_get_size (buffer)); |