[gvfs/f15/master] Add patches

Tomas Bzatek tbzatek at fedoraproject.org
Mon Apr 18 14:11:18 UTC 2011


commit 11c3cccf7f0316be3776a098e78cd77cc6ea8b76
Author: Tomas Bzatek <tbzatek at redhat.com>
Date:   Mon Apr 18 16:11:14 2011 +0200

    Add patches

 gvfs-1.8.1-dbus-leak.patch |  452 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 452 insertions(+), 0 deletions(-)
---
diff --git a/gvfs-1.8.1-dbus-leak.patch b/gvfs-1.8.1-dbus-leak.patch
new file mode 100644
index 0000000..2b599b6
--- /dev/null
+++ b/gvfs-1.8.1-dbus-leak.patch
@@ -0,0 +1,452 @@
+From 7460f26f9243e6b1745a448b8dc05b15d12aa86e Mon Sep 17 00:00:00 2001
+From: Alexander Larsson <alexl at redhat.com>
+Date: Fri, 15 Apr 2011 11:05:30 +0000
+Subject: Don't leak dbus messages
+
+We're missing a lot of dbus_message_unref after sending
+messages, add them.
+---
+diff --git a/daemon/daemon-main.c b/daemon/daemon-main.c
+index 22cebe6..13e4780 100644
+--- a/daemon/daemon-main.c
++++ b/daemon/daemon-main.c
+@@ -127,6 +127,7 @@ send_spawned (DBusConnection *connection, gboolean succeeded, char *error_messag
+     _g_dbus_oom ();
+     
+   dbus_connection_send (connection, message, NULL);
++  dbus_message_unref (message);
+   /* Make sure the message is sent */
+   dbus_connection_flush (connection);
+ }
+diff --git a/daemon/gvfsjobcopy.c b/daemon/gvfsjobcopy.c
+index 730e1e2..e833168 100644
+--- a/daemon/gvfsjobcopy.c
++++ b/daemon/gvfsjobcopy.c
+@@ -104,6 +104,8 @@ g_vfs_job_copy_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
++
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobcreatemonitor.c b/daemon/gvfsjobcreatemonitor.c
+index 074a866..e825de3 100644
+--- a/daemon/gvfsjobcreatemonitor.c
++++ b/daemon/gvfsjobcreatemonitor.c
+@@ -104,6 +104,7 @@ g_vfs_job_create_monitor_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobdelete.c b/daemon/gvfsjobdelete.c
+index 688e604..bbc3891 100644
+--- a/daemon/gvfsjobdelete.c
++++ b/daemon/gvfsjobdelete.c
+@@ -96,6 +96,7 @@ g_vfs_job_delete_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobenumerate.c b/daemon/gvfsjobenumerate.c
+index 90ff452..208f0ba 100644
+--- a/daemon/gvfsjobenumerate.c
++++ b/daemon/gvfsjobenumerate.c
+@@ -110,6 +110,7 @@ g_vfs_job_enumerate_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobmakedirectory.c b/daemon/gvfsjobmakedirectory.c
+index 2e9c7e2..61257d9 100644
+--- a/daemon/gvfsjobmakedirectory.c
++++ b/daemon/gvfsjobmakedirectory.c
+@@ -96,6 +96,7 @@ g_vfs_job_make_directory_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobmakesymlink.c b/daemon/gvfsjobmakesymlink.c
+index 157e70f..0ea22fa 100644
+--- a/daemon/gvfsjobmakesymlink.c
++++ b/daemon/gvfsjobmakesymlink.c
+@@ -99,6 +99,7 @@ g_vfs_job_make_symlink_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobmountmountable.c b/daemon/gvfsjobmountmountable.c
+index 1d60836..6cc2ea2 100644
+--- a/daemon/gvfsjobmountmountable.c
++++ b/daemon/gvfsjobmountmountable.c
+@@ -109,6 +109,7 @@ g_vfs_job_mount_mountable_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobmove.c b/daemon/gvfsjobmove.c
+index 0f3b7a2..9a6bd89 100644
+--- a/daemon/gvfsjobmove.c
++++ b/daemon/gvfsjobmove.c
+@@ -104,6 +104,7 @@ g_vfs_job_move_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobopenforread.c b/daemon/gvfsjobopenforread.c
+index 31265db..d217c27 100644
+--- a/daemon/gvfsjobopenforread.c
++++ b/daemon/gvfsjobopenforread.c
+@@ -106,6 +106,7 @@ g_vfs_job_open_for_read_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobopenforwrite.c b/daemon/gvfsjobopenforwrite.c
+index 6d368f8..6e7396c 100644
+--- a/daemon/gvfsjobopenforwrite.c
++++ b/daemon/gvfsjobopenforwrite.c
+@@ -116,6 +116,7 @@ g_vfs_job_open_for_write_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       g_free (path);
+       return NULL;
+     }
+diff --git a/daemon/gvfsjobopeniconforread.c b/daemon/gvfsjobopeniconforread.c
+index 1e36a24..59e813a 100644
+--- a/daemon/gvfsjobopeniconforread.c
++++ b/daemon/gvfsjobopeniconforread.c
+@@ -87,6 +87,7 @@ g_vfs_job_open_icon_for_read_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobpollmountable.c b/daemon/gvfsjobpollmountable.c
+index 4fa67b1..ac59da2 100644
+--- a/daemon/gvfsjobpollmountable.c
++++ b/daemon/gvfsjobpollmountable.c
+@@ -99,6 +99,7 @@ g_vfs_job_poll_mountable_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobpull.c b/daemon/gvfsjobpull.c
+index 4d66bf0..1d4bc78 100644
+--- a/daemon/gvfsjobpull.c
++++ b/daemon/gvfsjobpull.c
+@@ -107,6 +107,7 @@ g_vfs_job_pull_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobpush.c b/daemon/gvfsjobpush.c
+index 49680b3..b4b3874 100644
+--- a/daemon/gvfsjobpush.c
++++ b/daemon/gvfsjobpush.c
+@@ -107,6 +107,7 @@ g_vfs_job_push_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobqueryattributes.c b/daemon/gvfsjobqueryattributes.c
+index 426a26b..3307cfa 100644
+--- a/daemon/gvfsjobqueryattributes.c
++++ b/daemon/gvfsjobqueryattributes.c
+@@ -100,6 +100,7 @@ g_vfs_job_query_attributes_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobqueryfsinfo.c b/daemon/gvfsjobqueryfsinfo.c
+index cce7ded..e464590 100644
+--- a/daemon/gvfsjobqueryfsinfo.c
++++ b/daemon/gvfsjobqueryfsinfo.c
+@@ -101,6 +101,7 @@ g_vfs_job_query_fs_info_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobqueryinfo.c b/daemon/gvfsjobqueryinfo.c
+index 3a52539..27c8edc 100644
+--- a/daemon/gvfsjobqueryinfo.c
++++ b/daemon/gvfsjobqueryinfo.c
+@@ -110,6 +110,7 @@ g_vfs_job_query_info_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobsetattribute.c b/daemon/gvfsjobsetattribute.c
+index c908216..ad2a8a2 100644
+--- a/daemon/gvfsjobsetattribute.c
++++ b/daemon/gvfsjobsetattribute.c
+@@ -120,6 +120,7 @@ g_vfs_job_set_attribute_new (DBusConnection *connection,
+                                       _("Invalid dbus message"));
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobsetdisplayname.c b/daemon/gvfsjobsetdisplayname.c
+index 9ac10a3..0816c8b 100644
+--- a/daemon/gvfsjobsetdisplayname.c
++++ b/daemon/gvfsjobsetdisplayname.c
+@@ -100,6 +100,7 @@ g_vfs_job_set_display_name_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobstartmountable.c b/daemon/gvfsjobstartmountable.c
+index e862846..b4492db 100644
+--- a/daemon/gvfsjobstartmountable.c
++++ b/daemon/gvfsjobstartmountable.c
+@@ -105,6 +105,7 @@ g_vfs_job_start_mountable_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobstopmountable.c b/daemon/gvfsjobstopmountable.c
+index 31f480a..c291d38 100644
+--- a/daemon/gvfsjobstopmountable.c
++++ b/daemon/gvfsjobstopmountable.c
+@@ -107,6 +107,7 @@ g_vfs_job_stop_mountable_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobtrash.c b/daemon/gvfsjobtrash.c
+index e6f6388..338bf0d 100644
+--- a/daemon/gvfsjobtrash.c
++++ b/daemon/gvfsjobtrash.c
+@@ -96,6 +96,7 @@ g_vfs_job_trash_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobunmount.c b/daemon/gvfsjobunmount.c
+index ee2cb7e..17e364f 100644
+--- a/daemon/gvfsjobunmount.c
++++ b/daemon/gvfsjobunmount.c
+@@ -106,6 +106,7 @@ g_vfs_job_unmount_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsjobunmountmountable.c b/daemon/gvfsjobunmountmountable.c
+index ed648ca..9cf9c2d 100644
+--- a/daemon/gvfsjobunmountmountable.c
++++ b/daemon/gvfsjobunmountmountable.c
+@@ -108,6 +108,7 @@ g_vfs_job_unmount_mountable_new (DBusConnection *connection,
+       dbus_error_free (&derror);
+ 
+       dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
+       return NULL;
+     }
+ 
+diff --git a/daemon/gvfsmonitor.c b/daemon/gvfsmonitor.c
+index 4b91ece..8947099 100644
+--- a/daemon/gvfsmonitor.c
++++ b/daemon/gvfsmonitor.c
+@@ -184,8 +184,9 @@ vfs_monitor_message_callback (DBusConnection  *connection,
+ 					  derror.name,
+ 					  derror.message);
+ 	  dbus_error_free (&derror);
+-	  
++
+ 	  dbus_connection_send (connection, reply, NULL);
++	  dbus_message_unref (reply);
+ 	}
+       else
+ 	{
+@@ -199,8 +200,9 @@ vfs_monitor_message_callback (DBusConnection  *connection,
+ 
+ 	  reply = dbus_message_new_method_return (message);
+ 	  dbus_connection_send (connection, reply, NULL);
++	  dbus_message_unref (reply);
+ 	}
+-      
++
+       return DBUS_HANDLER_RESULT_HANDLED;
+     }
+   else if (dbus_message_is_method_call (message,
+@@ -216,8 +218,9 @@ vfs_monitor_message_callback (DBusConnection  *connection,
+ 					  derror.name,
+ 					  derror.message);
+ 	  dbus_error_free (&derror);
+-	  
++
+ 	  dbus_connection_send (connection, reply, NULL);
++	  dbus_message_unref (reply);
+ 	}
+       else
+ 	{
+@@ -235,9 +238,10 @@ vfs_monitor_message_callback (DBusConnection  *connection,
+ 		  break;
+ 		}
+ 	    }
+-	  
++
+ 	  reply = dbus_message_new_method_return (message);
+ 	  dbus_connection_send (connection, reply, NULL);
++	  dbus_message_unref (reply);
+ 
+ 	  g_object_unref (monitor);
+ 	}
+diff --git a/daemon/mount.c b/daemon/mount.c
+index 2331559..6eb07d3 100644
+--- a/daemon/mount.c
++++ b/daemon/mount.c
+@@ -757,6 +757,7 @@ register_mount (DBusConnection *connection,
+     _g_dbus_oom ();
+   
+   dbus_connection_send (connection, reply, NULL);
++  dbus_message_unref (reply);
+ }
+ 
+ typedef struct {
+@@ -778,6 +779,7 @@ automount_done (VfsMountable *mountable,
+ 					G_IO_ERROR, G_IO_ERROR_NOT_MOUNTED,
+ 					_("Automount failed: %s"), error->message);
+       dbus_connection_send (data->connection, reply, NULL);
++      dbus_message_unref (reply);
+     }
+   else
+     lookup_mount (data->connection,
+@@ -870,7 +872,10 @@ lookup_mount (DBusConnection *connection,
+   
+   g_mount_spec_unref (spec);
+   if (reply != NULL)
+-    dbus_connection_send (connection, reply, NULL);
++    {
++      dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
++    }
+ }
+ 
+ static void
+@@ -910,9 +915,12 @@ lookup_mount_by_fuse_path (DBusConnection *connection,
+     reply = dbus_message_new_error (message,
+ 				    DBUS_ERROR_INVALID_ARGS,
+ 				    "Invalid arguments");
+-  
++
+   if (reply != NULL)
+-    dbus_connection_send (connection, reply, NULL);
++    {
++      dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
++    }
+ }
+ 
+ static void
+@@ -958,8 +966,9 @@ list_mounts (DBusConnection *connection,
+ 
+   if (!dbus_message_iter_close_container (&iter, &array_iter))
+     _g_dbus_oom ();
+-  
++
+   dbus_connection_send (connection, reply, NULL);
++  dbus_message_unref (reply);
+ }
+ 
+ static void
+@@ -1047,7 +1056,10 @@ mount_location (DBusConnection *connection,
+     }
+   
+   if (reply)
+-    dbus_connection_send (connection, reply, NULL);
++    {
++      dbus_connection_send (connection, reply, NULL);
++      dbus_message_unref (reply);
++    }
+   else
+     {
+       GMountSource *source;
+@@ -1099,8 +1111,9 @@ list_mount_types (DBusConnection *connection,
+ 
+   if (!dbus_message_iter_close_container (&iter, &array_iter))
+     _g_dbus_oom ();
+-  
++
+   dbus_connection_send (connection, reply, NULL);
++  dbus_message_unref (reply);
+ }
+ 
+ static void
+@@ -1140,8 +1153,9 @@ list_mountable_info (DBusConnection *connection,
+ 
+   if (!dbus_message_iter_close_container (&iter, &array_iter))
+     _g_dbus_oom ();
+-  
++
+   dbus_connection_send (connection, reply, NULL);
++  dbus_message_unref (reply);
+ }
+ 
+ static DBusHandlerResult
+--
+cgit v0.9


More information about the scm-commits mailing list