summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2008-03-03 11:20:55 +0000
committerBastien Nocera <hadess@src.gnome.org>2008-03-03 11:20:55 +0000
commitcaab88654c4ac074d2132ef91740028f6087dcb1 (patch)
tree0bf16106a79615b0d5f35ceef41cae3e3f509ea1
parent1d0fb456ebac85af250942dff41e3852c41ba510 (diff)
downloadgvfs-caab88654c4ac074d2132ef91740028f6087dcb1.tar.gz
Fix a crasher when mounting fails, by not freeing the error just before
2008-03-03 Bastien Nocera <hadess@hadess.net> * daemon/gvfsbackendobexftp.c (do_mount), (do_open_for_read), (do_read), (do_query_info), (do_query_fs_info), (do_enumerate), (do_delete), (do_make_directory): Fix a crasher when mounting fails, by not freeing the error just before using it (duh!) (Closes: #519752), Fix a few error paths leaking errors svn path=/trunk/; revision=1499
-rw-r--r--ChangeLog8
-rw-r--r--daemon/gvfsbackendobexftp.c5
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index b5115cbb..52f72c2c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-03-03 Bastien Nocera <hadess@hadess.net>
+
+ * daemon/gvfsbackendobexftp.c (do_mount), (do_open_for_read),
+ (do_read), (do_query_info), (do_query_fs_info), (do_enumerate),
+ (do_delete), (do_make_directory): Fix a crasher when
+ mounting fails, by not freeing the error just before using it
+ (duh!) (Closes: #519752), Fix a few error paths leaking errors
+
2008-03-03 Luca Ferretti <elle.uca@libero.it>
* daemon/gvfsbackendftp.c: (do_query_info):
diff --git a/daemon/gvfsbackendobexftp.c b/daemon/gvfsbackendobexftp.c
index 0e9f5182..668c8a09 100644
--- a/daemon/gvfsbackendobexftp.c
+++ b/daemon/gvfsbackendobexftp.c
@@ -612,8 +612,8 @@ do_mount (GVfsBackend *backend,
DBUS_TYPE_G_OBJECT_PATH, &path, G_TYPE_INVALID) == FALSE)
{
g_free (bdaddr);
- g_error_free (error);
g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
+ g_error_free (error);
return;
}
@@ -1081,6 +1081,7 @@ do_query_fs_info (GVfsBackend *backend,
{
g_mutex_unlock (op_backend->mutex);
g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
+ g_error_free (error);
ovu_caps_free (caps);
return;
}
@@ -1206,6 +1207,7 @@ do_delete (GVfsBackend *backend,
{
g_mutex_unlock (op_backend->mutex);
g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
+ g_error_free (error);
g_object_unref (info);
return;
}
@@ -1374,6 +1376,7 @@ do_make_directory (GVfsBackend *backend,
{
g_mutex_unlock (op_backend->mutex);
g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
+ g_error_free (error);
return;
}