diff --git a/container/initsymlink.go b/container/initsymlink.go index fb80867..33e00e0 100644 --- a/container/initsymlink.go +++ b/container/initsymlink.go @@ -3,7 +3,6 @@ package container import ( "encoding/gob" "fmt" - "io/fs" "path" ) @@ -30,7 +29,7 @@ func (l *SymlinkOp) Valid() bool { return l != nil && l.Target != nil && l.LinkN func (l *SymlinkOp) early(_ *setupState, k syscallDispatcher) error { if l.Dereference { if !isAbs(l.LinkName) { - return msg.WrapErr(fs.ErrInvalid, fmt.Sprintf("path %q is not absolute", l.LinkName)) + return &AbsoluteError{l.LinkName} } if name, err := k.readlink(l.LinkName); err != nil { return wrapErrSelf(err) diff --git a/container/initsymlink_test.go b/container/initsymlink_test.go index 1bd0589..0687afd 100644 --- a/container/initsymlink_test.go +++ b/container/initsymlink_test.go @@ -1,7 +1,6 @@ package container import ( - "io/fs" "os" "testing" ) @@ -19,7 +18,7 @@ func TestSymlinkOp(t *testing.T) { Target: MustAbs("/etc/mtab"), LinkName: "etc/mtab", Dereference: true, - }, nil, msg.WrapErr(fs.ErrInvalid, `path "etc/mtab" is not absolute`), nil, nil}, + }, nil, &AbsoluteError{"etc/mtab"}, nil, nil}, {"readlink", &Params{ParentPerm: 0755}, &SymlinkOp{ Target: MustAbs("/etc/mtab"),