[volume_image]: Test calculated size incorrectly.

It didnt substract the offset within the buffer from the available
bytes.

Test: storage-volume-image-tests
Change-Id: I67dbacdf2044a6c9e0ffa322468035590ce9320a
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/513511
Commit-Queue: Gianfranco Valentino <gevalentino@google.com>
Reviewed-by: James Sullivan <jfsulliv@google.com>
diff --git a/src/storage/volume_image/fvm/fvm_sparse_image_test.cc b/src/storage/volume_image/fvm/fvm_sparse_image_test.cc
index dc93d75..0918fbe 100644
--- a/src/storage/volume_image/fvm/fvm_sparse_image_test.cc
+++ b/src/storage/volume_image/fvm/fvm_sparse_image_test.cc
@@ -678,8 +678,9 @@
 
     uint64_t copied_bytes = 0;
     if (zeroed_bytes < buffer.size()) {
-      copied_bytes = std::min(buffer.size() - zeroed_bytes, image_buffer_.size());
       size_t distance_from_start = (image_offset_ > offset) ? 0 : offset - image_offset_;
+      copied_bytes =
+          std::min(buffer.size() - zeroed_bytes, image_buffer_.size() - distance_from_start);
       memcpy(buffer.data() + zeroed_bytes, image_buffer_.subspan(distance_from_start).data(),
              copied_bytes);
     }