summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Holy <oholy@redhat.com>2020-10-05 11:55:11 +0200
committerOndrej Holy <oholy@redhat.com>2020-10-05 13:20:12 +0200
commitaf3c2740a28802e075be1ff5decb673a27c7b4d3 (patch)
tree9f4bb9cb42fd28935dae66a9a713525a6884deeb
parentfe3177c5b13a4a763aa9ecc9362c398742a12ae2 (diff)
downloadgvfs-wip/oholy/google-progress.tar.gz
ftp: Prevent source file removal in case of transfer failurewip/oholy/google-progress
When moving file from FTP to local filesystem, the remote file is removed regradless of transfer failure. This is pretty bad as it might lead to data loss. Let's delete the remote file only if the transfer suceeded.
-rw-r--r--daemon/gvfsbackendftp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/daemon/gvfsbackendftp.c b/daemon/gvfsbackendftp.c
index 1f2f23ad..16716e04 100644
--- a/daemon/gvfsbackendftp.c
+++ b/daemon/gvfsbackendftp.c
@@ -1706,7 +1706,7 @@ do_pull (GVfsBackend * backend,
g_vfs_ftp_task_receive (&task, 0, NULL);
g_object_unref (output);
- if (remove_source)
+ if (!g_vfs_ftp_task_is_in_error (&task) && remove_source)
{
g_vfs_ftp_task_send (&task,
G_VFS_FTP_PASS_500,