From 3e2e74279a92b372d6f271272c4a3d421a6b42f7 Mon Sep 17 00:00:00 2001 From: Etienne Perot Date: Thu, 29 Sep 2022 17:04:07 -0700 Subject: [PATCH] User pointer error type for `path.ExecutableResolveError`. PiperOrigin-RevId: 477857846 --- pkg/sentry/fs/user/path.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/sentry/fs/user/path.go b/pkg/sentry/fs/user/path.go index d7340e9a3..370c0d54a 100644 --- a/pkg/sentry/fs/user/path.go +++ b/pkg/sentry/fs/user/path.go @@ -32,11 +32,11 @@ import ( // ExecutableResolveError represents a failure to resolve the executable // in ResolveExecutablePath. -type ExecutableResolveError error +type ExecutableResolveError struct{ error } // ResolveExecutablePath resolves the given executable name given the working // dir and environment. -// Returns ExecutableResolveError when the executable cannot be resolved. +// Returns *ExecutableResolveError when the executable cannot be resolved. func ResolveExecutablePath(ctx context.Context, args *kernel.CreateProcessArgs) (string, error) { name := args.Filename if len(name) == 0 { @@ -69,14 +69,14 @@ func ResolveExecutablePath(ctx context.Context, args *kernel.CreateProcessArgs) if kernel.VFS2Enabled { f, err := resolveVFS2(ctx, args.Credentials, args.MountNamespaceVFS2, paths, name) if err != nil { - return "", ExecutableResolveError(fmt.Errorf("error finding executable %q in PATH %v: %v", name, paths, err)) + return "", &ExecutableResolveError{fmt.Errorf("error finding executable %q in PATH %v: %v", name, paths, err)} } return f, nil } f, err := resolve(ctx, args.MountNamespace, paths, name) if err != nil { - return "", ExecutableResolveError(fmt.Errorf("error finding executable %q in PATH %v: %v", name, paths, err)) + return "", &ExecutableResolveError{fmt.Errorf("error finding executable %q in PATH %v: %v", name, paths, err)} } return f, nil }