diff options
| -rw-r--r-- | libc/unistd/exec.c | 6 | 
1 files changed, 3 insertions, 3 deletions
| diff --git a/libc/unistd/exec.c b/libc/unistd/exec.c index 47aab27e7..b2817af5e 100644 --- a/libc/unistd/exec.c +++ b/libc/unistd/exec.c @@ -235,11 +235,11 @@ int execvp(const char *path, char *const argv[])  	if (strchr(path, '/')) {  		execve(path, argv, __environ); -	CHECK_ENOEXEC:  		if (errno == ENOEXEC) {  			char **nargv;  			EXEC_ALLOC_SIZE(size2) /* Do NOT add a semicolon! */  			size_t n; +	RUN_BIN_SH:  			/* Need the dimension - 1.  We omit counting the trailing  			 * NULL but we actually omit the first entry. */  			for (n=0 ; argv[n] ; n++) {} @@ -292,9 +292,9 @@ int execvp(const char *path, char *const argv[])  				seen_small = 1; -				if (errno != ENOENT) { +				if (errno == ENOEXEC) {  					path = s; -					goto CHECK_ENOEXEC; +					goto RUN_BIN_SH;  				}  			NEXT: | 
