[gtk+] file filter: Be save against NULL
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] file filter: Be save against NULL
- Date: Mon, 8 May 2017 20:36:57 +0000 (UTC)
commit 95e313a2833fcf2d80f0b298aaf2b533642b0198
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]