Title: [147787] trunk/Source/WebCore
Revision
147787
Author
[email protected]
Date
2013-04-05 12:45:03 -0700 (Fri, 05 Apr 2013)

Log Message

[GStreamer] Segfault when attempting to install missing plugins
https://bugs.webkit.org/show_bug.cgi?id=114046

gst_install_plugins_async expects a null terminated list, but we weren't
adding a null terminator.

Patch by Brendan Long <[email protected]> on 2013-04-05
Reviewed by Philippe Normand.

No new tests since this just fixes a segfault.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (147786 => 147787)


--- trunk/Source/WebCore/ChangeLog	2013-04-05 19:40:18 UTC (rev 147786)
+++ trunk/Source/WebCore/ChangeLog	2013-04-05 19:45:03 UTC (rev 147787)
@@ -1,3 +1,18 @@
+2013-04-05  Brendan Long  <[email protected]>
+
+        [GStreamer] Segfault when attempting to install missing plugins
+        https://bugs.webkit.org/show_bug.cgi?id=114046
+        
+        gst_install_plugins_async expects a null terminated list, but we weren't
+        adding a null terminator.
+
+        Reviewed by Philippe Normand.
+
+        No new tests since this just fixes a segfault.
+
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
+
 2013-04-05  Benjamin Poulain  <[email protected]>
 
         Remove the chromium code for WebCore's indexeddb module

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (147786 => 147787)


--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2013-04-05 19:40:18 UTC (rev 147786)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2013-04-05 19:45:03 UTC (rev 147787)
@@ -780,7 +780,8 @@
     case GST_MESSAGE_ELEMENT:
         if (gst_is_missing_plugin_message(message)) {
             gchar* detail = gst_missing_plugin_message_get_installer_detail(message);
-            GstInstallPluginsReturn result = gst_install_plugins_async(&detail, 0, mediaPlayerPrivatePluginInstallerResultFunction, this);
+            gchar* detailArray[2] = {detail, 0};
+            GstInstallPluginsReturn result = gst_install_plugins_async(detailArray, 0, mediaPlayerPrivatePluginInstallerResultFunction, this);
             m_missingPlugins = result == GST_INSTALL_PLUGINS_STARTED_OK;
             g_free(detail);
         }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to