s3: fix slice bounds out of range error when listing
In this commit:
5f938fb9ed
s3: fix "Entry doesn't belong in directory" errors when using directory markers
We checked that the remote has the prefix and then changed the remote
before removing the prefix. This sometimes causes:
panic: runtime error: slice bounds out of range [56:55]
The fix is to do the modification of the remote after removing the
prefix.
See: https://forum.rclone.org/t/cryptcheck-panic-runtime-error-slice-bounds-out-of-range/41977
This commit is contained in:
parent
23e44c6065
commit
b296f37801
1 changed files with 4 additions and 2 deletions
|
@ -3868,11 +3868,13 @@ func (f *Fs) list(ctx context.Context, opt listOpt, fn listFn) error {
|
||||||
if remote == opt.directory {
|
if remote == opt.directory {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
// process directory markers as directories
|
|
||||||
remote = strings.TrimRight(remote, "/")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
remote = remote[len(opt.prefix):]
|
remote = remote[len(opt.prefix):]
|
||||||
|
if isDirectory {
|
||||||
|
// process directory markers as directories
|
||||||
|
remote = strings.TrimRight(remote, "/")
|
||||||
|
}
|
||||||
if opt.addBucket {
|
if opt.addBucket {
|
||||||
remote = bucket.Join(opt.bucket, remote)
|
remote = bucket.Join(opt.bucket, remote)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue