From 955dbebc03cf9b5d9ae0d6b2af1f8c277db0649f Mon Sep 17 00:00:00 2001 From: Serge <8523760+sergethedev17@users.noreply.github.com> Date: Tue, 1 Jun 2021 02:51:42 +1000 Subject: Check contents of written test file Before performing test write, reset stream Position to 0, otherwise test performs zero-byte write. When performing test read, verify that file was written correctly. --- Duplicati/Library/Backend/AlternativeFTP/AlternativeFTPBackend.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Duplicati/Library/Backend/AlternativeFTP/AlternativeFTPBackend.cs b/Duplicati/Library/Backend/AlternativeFTP/AlternativeFTPBackend.cs index 0e027df83..28f9c0403 100644 --- a/Duplicati/Library/Backend/AlternativeFTP/AlternativeFTPBackend.cs +++ b/Duplicati/Library/Backend/AlternativeFTP/AlternativeFTPBackend.cs @@ -451,6 +451,7 @@ namespace Duplicati.Library.Backend.AlternativeFTP var stream = new MemoryStream(); var writer = new StreamWriter(stream) { AutoFlush = true }; writer.Write(str); + stream.Position = 0; return stream; } @@ -488,11 +489,14 @@ namespace Duplicati.Library.Backend.AlternativeFTP } // Test read permissions - using (var stream = new MemoryStream()) + using (var testStream = new MemoryStream()) { try { - Get(TEST_FILE_NAME, stream); + Get(TEST_FILE_NAME, testStream); + var readValue = System.Text.Encoding.Default.GetString(testStream.ToArray()); + if (readValue != TEST_FILE_CONTENT) + throw new Exception("Test file corrupted."); } catch (Exception e) { -- cgit v1.2.3