mirror of https://github.com/docker/cli.git
cli/command/container: exit 126 on EISDIR error
The error returned from "os/exec".Command when attempting to execute a
directory has been changed from syscall.EACCESS to syscall.EISDIR on
Go 1.20. 2b8f214094
Consequently, any runc runtime built against Go 1.20 will return an
error containing 'is a directory' and not 'permission denied'. Update
the string matching so the CLI exits with status code 126 on 'is a
directory' errors (EISDIR) in addition to 'permission denied' (EACCESS).
Signed-off-by: Cory Snider <csnider@mirantis.com>
This commit is contained in:
parent
e92dd87c32
commit
9b5ceb52b0
|
@ -308,7 +308,8 @@ func runStartContainerErr(err error) error {
|
||||||
strings.Contains(trimmedErr, "no such file or directory") ||
|
strings.Contains(trimmedErr, "no such file or directory") ||
|
||||||
strings.Contains(trimmedErr, "system cannot find the file specified") {
|
strings.Contains(trimmedErr, "system cannot find the file specified") {
|
||||||
statusError = cli.StatusError{StatusCode: 127}
|
statusError = cli.StatusError{StatusCode: 127}
|
||||||
} else if strings.Contains(trimmedErr, syscall.EACCES.Error()) {
|
} else if strings.Contains(trimmedErr, syscall.EACCES.Error()) ||
|
||||||
|
strings.Contains(trimmedErr, syscall.EISDIR.Error()) {
|
||||||
statusError = cli.StatusError{StatusCode: 126}
|
statusError = cli.StatusError{StatusCode: 126}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue