summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/gstreamer/ImageGStreamerQt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/platform/graphics/gstreamer/ImageGStreamerQt.cpp')
-rw-r--r--Source/WebCore/platform/graphics/gstreamer/ImageGStreamerQt.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/gstreamer/ImageGStreamerQt.cpp b/Source/WebCore/platform/graphics/gstreamer/ImageGStreamerQt.cpp
index ece3c3f27..58db02696 100644
--- a/Source/WebCore/platform/graphics/gstreamer/ImageGStreamerQt.cpp
+++ b/Source/WebCore/platform/graphics/gstreamer/ImageGStreamerQt.cpp
@@ -45,6 +45,10 @@ ImageGStreamer::ImageGStreamer(GstBuffer* buffer, GstCaps* caps)
#ifdef GST_API_VERSION_1
gst_buffer_map(buffer, &m_mapInfo, GST_MAP_READ);
uchar* bufferData = reinterpret_cast<uchar*>(m_mapInfo.data);
+ if (size.width() * size.height() * 4 > m_mapInfo.maxsize) {
+ qWarning("Ignoring dangerously invalid frame emitted by GStreamer.");
+ return;
+ }
#else
uchar* bufferData = reinterpret_cast<uchar*>(GST_BUFFER_DATA(buffer));
#endif