[gvfs/gnome-3-38] ftp: Prevent source file removal in case of transfer failure



commit c82270ccc4921cf2a67c67ab00581fc7231de123
Author: Ondrej Holy <oholy redhat com>
Date:   Mon Oct 5 09:55:11 2020 +0000

    ftp: Prevent source file removal in case of transfer failure
    
    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.
    
    
    (cherry picked from commit 44f256758bbd7a898414779f3456ac9320428025)

 daemon/gvfsbackendftp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/daemon/gvfsbackendftp.c b/daemon/gvfsbackendftp.c
index e86f5e91..70f0b931 100644
--- a/daemon/gvfsbackendftp.c
+++ b/daemon/gvfsbackendftp.c
@@ -1746,7 +1746,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,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]