Skip to content

Commit 158db7a

Browse files
committed
ipfs: de-duplicate path validation + std error val
1 parent 19dc0c6 commit 158db7a

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

internal/filesystem/ipfs/ipfs.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,8 +318,8 @@ func (fsys *IPFS) Open(name string) (fs.File, error) {
318318
return emptyRoot{info: &fsys.info}, nil
319319
}
320320
const op = "open"
321-
if !fs.ValidPath(name) {
322-
return nil, fserrors.New(op, name, fs.ErrInvalid, fserrors.InvalidItem)
321+
if err := validatePath(op, name); err != nil {
322+
return nil, err
323323
}
324324
cid, err := fsys.toCID(op, name)
325325
if err != nil {

internal/filesystem/ipfs/ipns.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,8 +256,8 @@ func (fsys *IPNS) Open(name string) (fs.File, error) {
256256
return emptyRoot{info: &fsys.info}, nil
257257
}
258258
const op = "open"
259-
if !fs.ValidPath(name) {
260-
return nil, fserrors.New(op, name, fs.ErrInvalid, fserrors.InvalidItem)
259+
if err := validatePath(op, name); err != nil {
260+
return nil, err
261261
}
262262
cid, err := fsys.toCID(op, name)
263263
if err != nil {

internal/filesystem/ipfs/shared.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,13 @@ func (emptyRoot) ReadDir(count int) ([]fs.DirEntry, error) {
135135
return nil, nil
136136
}
137137

138+
func validatePath(op, name string) error {
139+
if fs.ValidPath(name) {
140+
return nil
141+
}
142+
return fserrors.New(op, name, fs.ErrInvalid, fserrors.InvalidItem)
143+
}
144+
138145
func statNode(node ipld.Node, info *nodeInfo) error {
139146
switch typedNode := node.(type) {
140147
case *dag.ProtoNode:

0 commit comments

Comments
 (0)