repository: Better error message if blob is larger than 4GB

This commit is contained in:
Michael Eischer
2024-04-19 20:48:43 +02:00
parent 55d56db31b
commit 10355c3fb6
2 changed files with 7 additions and 3 deletions

View File

@@ -6,6 +6,7 @@ import (
"context"
"fmt"
"io"
"math"
"os"
"runtime"
"sort"
@@ -917,6 +918,10 @@ func (r *Repository) Close() error {
// occupies in the repo (compressed or not, including encryption overhead).
func (r *Repository) SaveBlob(ctx context.Context, t restic.BlobType, buf []byte, id restic.ID, storeDuplicate bool) (newID restic.ID, known bool, size int, err error) {
if int64(len(buf)) > math.MaxUint32 {
return restic.ID{}, false, 0, fmt.Errorf("blob is larger than 4GB")
}
// compute plaintext hash if not already set
if id.IsNull() {
// Special case the hash calculation for all zero chunks. This is especially