mirror of
https://github.com/restic/restic.git
synced 2025-12-11 18:47:50 +00:00
fs/reader: return proper error on invalid filename
This commit is contained in:
@@ -42,9 +42,12 @@ type readerItem struct {
|
||||
// statically ensure that Local implements FS.
|
||||
var _ FS = &Reader{}
|
||||
|
||||
func NewReader(name string, r io.ReadCloser, opts ReaderOptions) *Reader {
|
||||
func NewReader(name string, r io.ReadCloser, opts ReaderOptions) (*Reader, error) {
|
||||
items := make(map[string]readerItem)
|
||||
name = readerCleanPath(name)
|
||||
if name == "/" {
|
||||
return nil, fmt.Errorf("invalid filename specified")
|
||||
}
|
||||
|
||||
isFile := true
|
||||
for {
|
||||
@@ -89,7 +92,7 @@ func NewReader(name string, r io.ReadCloser, opts ReaderOptions) *Reader {
|
||||
}
|
||||
return &Reader{
|
||||
items: items,
|
||||
}
|
||||
}, nil
|
||||
}
|
||||
|
||||
func readerCleanPath(name string) string {
|
||||
|
||||
Reference in New Issue
Block a user