From: Matthias Clasen Date: Mon, 8 May 2017 20:35:53 +0000 (-0400) Subject: file filter: Be save against NULL X-Git-Tag: archive/raspbian/3.24.39-1+rpi1~1^2~65^2~39^2~583 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=0f929fb6e3ad466c751b6b3571bd40eb8c6ee8fc;p=gtk%2B3.0.git 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 --- diff --git a/gtk/gtkfilefilter.c b/gtk/gtkfilefilter.c index e86f2d8304..5339ac7f38 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: