diff options
author | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2015-10-06 15:09:04 +0900 |
---|---|---|
committer | Ross Lagerwall <rosslagerwall@gmail.com> | 2015-10-21 00:12:04 +0100 |
commit | c259305847b1ebde1ae89a3c921a13b6c0b67116 (patch) | |
tree | 5b2f38696d08b393ac72ed0012cddb0f5e9b9630 | |
parent | d19a4bc2475705f8252f8952c446b57b31661453 (diff) | |
download | gvfs-c259305847b1ebde1ae89a3c921a13b6c0b67116.tar.gz |
Avoid crash when no monitor implementations exist.
The GVariantBuilder is unable to create any GVariant for
an untyped array - while an empty vector is a valid variant,
it is not valid for an untyped array.
Passing the resulting null to gvfs_dbus_daemon_complete_cancel()
causes gvfs to abort with a g_error().
https://bugzilla.gnome.org/show_bug.cgi?id=756105
-rw-r--r-- | daemon/gvfsdaemon.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/daemon/gvfsdaemon.c b/daemon/gvfsdaemon.c index 7bc334b9..b7a3b885 100644 --- a/daemon/gvfsdaemon.c +++ b/daemon/gvfsdaemon.c @@ -957,7 +957,7 @@ handle_list_monitor_implementations (GVfsDBusDaemon *object, impls = g_vfs_list_monitor_implementations (); - g_variant_builder_init (&builder, G_VARIANT_TYPE_ARRAY); + g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ssbia{sv})")); for (l = impls; l != NULL; l = l->next) { |