This is happening to me on Xenial, crash in the same function when
selecting Google Chrome from the default application list after
selecting another item first (since it is currently the default when the
dialog opens)

This occurred on a fresh install, seemingly after telling Chrome "yes"
to setting itself as default.

We can see that mime_types = g_app_info_get_supported_types (info)
returns NULL but there is no check for this condition.

Upstream patch d9f08df39cafbd1f15c510da444f8ac913cdc493 introduces a
NULL check and fixes this issue.

Thread 1 "unity-control-c" received signal SIGSEGV, Segmentation fault.
default_app_changed (button=<optimised out>, self=<optimised out>) at 
cc-info-panel.c:816
816           for (i = 0; mime_types[i]; i++)
(gdb) bt
#0  default_app_changed (button=<optimised out>, self=<optimised out>) at 
cc-info-panel.c:816
<truncated>
#32 0x0000000000407503 in main (argc=1, argv=0x7fffffffdee8) at 
control-center.c:317
(gdb) l
814           mime_types = g_app_info_get_supported_types (info);
815     
816           for (i = 0; mime_types[i]; i++)
(gdb) print mime_types
$1 = (const char * const *) 0x0

>From d9f08df39cafbd1f15c510da444f8ac913cdc493 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <[email protected]>
Date: Wed, 18 Feb 2015 10:10:08 +0100
Subject: [PATCH] info: Fix crash when application supports no mime-type

It seems to be possible for Firefox Nightly to set itself up as the
default x-scheme-handler/http without actually handling any mime-types.

See https://bugzilla.redhat.com/show_bug.cgi?id=1193680

https://bugzilla.gnome.org/show_bug.cgi?id=744695
---
 panels/info/cc-info-panel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/panels/info/cc-info-panel.c b/panels/info/cc-info-panel.c
index 86513a4..ad89d54 100644
--- a/panels/info/cc-info-panel.c
+++ b/panels/info/cc-info-panel.c
@@ -854,7 +854,7 @@ default_app_changed (GtkAppChooserButton *button,
       pattern = g_pattern_spec_new (app_data->extra_type_filter);
       mime_types = g_app_info_get_supported_types (info);

-      for (i = 0; mime_types[i]; i++)
+      for (i = 0; mime_types && mime_types[i]; i++)
         {
           if (!g_pattern_match_string (pattern, mime_types[i]))
             continue;
-- 
2.7.4


** Bug watch added: Red Hat Bugzilla #1193680
   https://bugzilla.redhat.com/show_bug.cgi?id=1193680

** Bug watch added: GNOME Bug Tracker #744695
   https://bugzilla.gnome.org/show_bug.cgi?id=744695

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1304388

Title:
  unity-control-center crashed with SIGSEGV in default_app_changed()

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unity-control-center/+bug/1304388/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to