diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | daemon/gvfsbackendobexftp.c | 5 |
2 files changed, 12 insertions, 1 deletions
@@ -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; } |