components/gnome/gvfs/patches/02-monitor-crash.patch
author Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
Sat, 03 Sep 2016 22:01:54 -0700
changeset 6739 8e4786e21910
permissions -rw-r--r--
24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6739
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     1
Patch from upstream git for Solaris bug 24560147
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     2
https://git.gnome.org/browse/gvfs/commit/?id=77805a9871fcf53e99ccece6509faea77fcf93b4
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     3
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     4
From 77805a9871fcf53e99ccece6509faea77fcf93b4 Mon Sep 17 00:00:00 2001
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     5
From: Tristan Van Berkom <[email protected]>
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     6
Date: Tue, 6 Oct 2015 15:09:04 +0900
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     7
Subject: [PATCH] Avoid crash when no monitor implementations exist.
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     8
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     9
The GVariantBuilder is unable to create any GVariant for
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    10
an untyped array - while an empty vector is a valid variant,
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    11
it is not valid for an untyped array.
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    12
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    13
Passing the resulting null to gvfs_dbus_daemon_complete_cancel()
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    14
causes gvfs to abort with a g_error().
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    15
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    16
https://bugzilla.gnome.org/show_bug.cgi?id=756105
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    17
---
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    18
 daemon/gvfsdaemon.c | 2 +-
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    19
 1 file changed, 1 insertion(+), 1 deletion(-)
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    20
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    21
diff --git a/daemon/gvfsdaemon.c b/daemon/gvfsdaemon.c
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    22
index 7bc334b..b7a3b88 100644
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    23
--- a/daemon/gvfsdaemon.c
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    24
+++ b/daemon/gvfsdaemon.c
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    25
@@ -957,7 +957,7 @@ handle_list_monitor_implementations (GVfsDBusDaemon        *object,
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    26
 
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    27
   impls = g_vfs_list_monitor_implementations ();
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    28
 
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    29
-  g_variant_builder_init (&builder, G_VARIANT_TYPE_ARRAY);
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    30
+  g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ssbia{sv})"));
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    31
 
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    32
   for (l = impls; l != NULL; l = l->next)
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    33
     {
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    34
-- 
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    35
2.7.4
8e4786e21910 24560147 gvfsd core dumps on SIGTRAP with g_logv() at top of stack
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    36