From 5664fd7635679016714a40a521b1622fbc636418 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 18 Feb 2016 11:09:36 +0200 Subject: [PATCH] buffer: Protect against failing to map input memory when merging memories https://bugzilla.gnome.org/show_bug.cgi?id=762239 --- gst/gstbuffer.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gst/gstbuffer.c b/gst/gstbuffer.c index db4a237..0ee8bf3 100644 --- a/gst/gstbuffer.c +++ b/gst/gstbuffer.c @@ -242,7 +242,14 @@ _get_merged_memory (GstBuffer * buffer, guint idx, guint length) left = size; for (i = idx; i < (idx + length) && left > 0; i++) { - gst_memory_map (mem[i], &sinfo, GST_MAP_READ); + if (!gst_memory_map (mem[i], &sinfo, GST_MAP_READ)) { + GST_CAT_ERROR (GST_CAT_BUFFER, + "buffer %p, idx %u, length %u failed to map readable", buffer, + idx, length); + gst_memory_unmap (result, &dinfo); + gst_memory_unref (result); + return NULL; + } tocopy = MIN (sinfo.size, left); GST_CAT_DEBUG (GST_CAT_PERFORMANCE, "memcpy %" G_GSIZE_FORMAT " bytes for merge %p from memory %p", -- 2.7.4