repository: don't crash if blob size is too short
This commit is contained in:
parent
becebf5d88
commit
34ebafb8b6
1 changed files with 5 additions and 0 deletions
|
@ -801,6 +801,11 @@ func StreamPack(ctx context.Context, beLoad BackendLoadFn, key *crypto.Key, pack
|
||||||
}
|
}
|
||||||
currentBlobEnd = entry.Offset + entry.Length
|
currentBlobEnd = entry.Offset + entry.Length
|
||||||
|
|
||||||
|
if int(entry.Length) <= key.NonceSize() {
|
||||||
|
debug.Log("%v", blobs)
|
||||||
|
return errors.Errorf("invalid blob length %v", entry)
|
||||||
|
}
|
||||||
|
|
||||||
// decryption errors are likely permanent, give the caller a chance to skip them
|
// decryption errors are likely permanent, give the caller a chance to skip them
|
||||||
nonce, ciphertext := buf[:key.NonceSize()], buf[key.NonceSize():]
|
nonce, ciphertext := buf[:key.NonceSize()], buf[key.NonceSize():]
|
||||||
plaintext, err := key.Open(ciphertext[:0], nonce, ciphertext, nil)
|
plaintext, err := key.Open(ciphertext[:0], nonce, ciphertext, nil)
|
||||||
|
|
Loading…
Reference in a new issue