mirror of
https://github.com/rclone/rclone.git
synced 2026-09-13 06:35:59 -04:00
If the source supplied fewer bytes than its declared size, the multipart upload was completed anyway, storing a truncated object and reporting a successful upload. Check the number of bytes read from the source against the declared size before finalising and abort the upload with an error if they do not match. This affects all backends which use lib/multipart for chunked uploads: azureblob, b2, drime, internxt, oracleobjectstorage, s3 and shade. This was found by the new FsPutShortEOF and TestRcatSizeShortEOF integration tests.