playbin: subtitleoverlay: don't segfault in incorrectly init'ed plugins
authorAndreas Frisch <fraxinas@opendreambox.org>
Wed, 12 Sep 2012 12:11:28 +0000 (14:11 +0200)
committerTim-Philipp Müller <tim@centricular.net>
Fri, 14 Sep 2012 07:49:47 +0000 (08:49 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=683865

gst/playback/gstsubtitleoverlay.c

index e42f381..e54e875 100644 (file)
@@ -191,11 +191,13 @@ _is_renderer (GstElementFactory * factory)
   klass = gst_element_factory_get_klass (factory);
   name = gst_plugin_feature_get_name (GST_PLUGIN_FEATURE_CAST (factory));
 
-  if (strstr (klass, "Overlay/Subtitle") != NULL ||
-      strstr (klass, "Overlay/SubPicture") != NULL)
-    return TRUE;
-  if (strcmp (name, "textoverlay") == 0)
-    return TRUE;
+  if (klass != NULL) {
+    if (strstr (klass, "Overlay/Subtitle") != NULL ||
+        strstr (klass, "Overlay/SubPicture") != NULL)
+      return TRUE;
+    if (strcmp (name, "textoverlay") == 0)
+      return TRUE;
+  }
   return FALSE;
 }
 
@@ -206,7 +208,7 @@ _is_parser (GstElementFactory * factory)
 
   klass = gst_element_factory_get_klass (factory);
 
-  if (strstr (klass, "Parser/Subtitle") != NULL)
+  if (klass != NULL && strstr (klass, "Parser/Subtitle") != NULL)
     return TRUE;
   return FALSE;
 }