Merge pull request #1053 from harshavardhana/infinite-loop

listObjects: Marker should be unescaped before being used internally.
master
Harshavardhana 9 years ago
commit 0c96ace8ad
  1. 9
      pkg/fs/fs-bucket-listobjects.go

@ -19,6 +19,7 @@ package fs
import ( import (
"errors" "errors"
"hash/fnv" "hash/fnv"
"net/url"
"os" "os"
"path/filepath" "path/filepath"
"strings" "strings"
@ -259,10 +260,16 @@ func (fs Filesystem) ListObjects(bucket, prefix, marker, delimiter string, maxKe
return ListObjectsResult{}, probe.NewError(e) return ListObjectsResult{}, probe.NewError(e)
} }
// Unescape the marker values.
markerUnescaped, e := url.QueryUnescape(marker)
if e != nil {
return ListObjectsResult{}, probe.NewError(e)
}
reqParams := listObjectsParams{} reqParams := listObjectsParams{}
reqParams.Bucket = bucket reqParams.Bucket = bucket
reqParams.Prefix = filepath.FromSlash(prefix) reqParams.Prefix = filepath.FromSlash(prefix)
reqParams.Marker = filepath.FromSlash(marker) reqParams.Marker = filepath.FromSlash(markerUnescaped)
reqParams.Delimiter = filepath.FromSlash(delimiter) reqParams.Delimiter = filepath.FromSlash(delimiter)
reqParams.MaxKeys = maxKeys reqParams.MaxKeys = maxKeys

Loading…
Cancel
Save