[gtk+/gtk-3-22] file filter: Be save against NULL



commit 0f929fb6e3ad466c751b6b3571bd40eb8c6ee8fc
Author: Matthias Clasen <mclasen redhat com>
Date:   Mon May 8 16:35:53 2017 -0400

    file filter: Be save against NULL
    
    g_content_type_from_mime_type may return NULL, deal with that.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=782180

 gtk/gtkfilefilter.c |   28 +++++++++++++++-------------
 1 files changed, 15 insertions(+), 13 deletions(-)
---
diff --git a/gtk/gtkfilefilter.c b/gtk/gtkfilefilter.c
index e86f2d8..5339ac7 100644
--- a/gtk/gtkfilefilter.c
+++ b/gtk/gtkfilefilter.c
@@ -673,19 +673,21 @@ gtk_file_filter_filter (GtkFileFilter           *filter,
       switch (rule->type)
        {
        case FILTER_RULE_MIME_TYPE:
-      if (filter_info->mime_type != NULL)
-        {
-          gchar *filter_content_type, *rule_content_type;
-          gboolean match;
-
-          filter_content_type = g_content_type_from_mime_type (filter_info->mime_type);
-          rule_content_type = g_content_type_from_mime_type (rule->u.mime_type);
-          match = g_content_type_is_a (filter_content_type, rule_content_type);
-          g_free (filter_content_type);
-          g_free (rule_content_type);
-
-          if (match)
-            return TRUE;
+          if (filter_info->mime_type != NULL)
+            {
+              gchar *filter_content_type, *rule_content_type;
+              gboolean match;
+
+              filter_content_type = g_content_type_from_mime_type (filter_info->mime_type);
+              rule_content_type = g_content_type_from_mime_type (rule->u.mime_type);
+              match = filter_content_type != NULL &&
+                      rule_content_type != NULL &&
+                      g_content_type_is_a (filter_content_type, rule_content_type);
+              g_free (filter_content_type);
+              g_free (rule_content_type);
+
+              if (match)
+                return TRUE;
         }
          break;
        case FILTER_RULE_PATTERN:


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]