* errno.cc (errmap): Add error codes for invalid binaries.
* exec.cc (execvp): Call spawnve with _P_PATH_TYPE_EXEC flag from here. (execvpe): Ditto. * spawn.cc (spawn_guts): Filter _P_PATH_TYPE_EXEC from mode and store in p_type_exec. Call av::fixup with addtional p_type_exec argument. (spawnve): Check for filtered mode. (spawnvpe): Add _P_PATH_TYPE_EXEC flag when calling spawnve. (av::fixup): Accept additional bool parameter p_type_exec. Only check for script if p_type_exec is true. * winf.h (_P_PATH_TYPE_EXEC): Define. (_P_MODE): Define. (av::fixup): Declare with additional bool parameter.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/* errno.cc: errno-related functions
|
||||
|
||||
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
||||
2006, 2008, 2009, 2010 Red Hat, Inc.
|
||||
2006, 2008, 2009, 2010, 2011 Red Hat, Inc.
|
||||
|
||||
This file is part of Cygwin.
|
||||
|
||||
@@ -37,6 +37,7 @@ static NO_COPY struct
|
||||
X (ACTIVE_CONNECTIONS, EAGAIN),
|
||||
X (ALREADY_EXISTS, EEXIST),
|
||||
X (BAD_DEVICE, ENODEV),
|
||||
X (BAD_EXE_FORMAT, ENOEXEC),
|
||||
X (BAD_NETPATH, ENOENT),
|
||||
X (BAD_NET_NAME, ENOENT),
|
||||
X (BAD_NET_RESP, ENOSYS),
|
||||
@@ -67,6 +68,7 @@ static NO_COPY struct
|
||||
X (EA_TABLE_FULL, ENOSPC),
|
||||
X (END_OF_MEDIA, ENOSPC),
|
||||
X (EOM_OVERFLOW, EIO),
|
||||
X (EXE_MARKED_INVALID, ENOEXEC),
|
||||
X (FILEMARK_DETECTED, EIO),
|
||||
X (FILENAME_EXCED_RANGE, ENAMETOOLONG),
|
||||
X (FILE_CORRUPT, EEXIST),
|
||||
@@ -81,11 +83,13 @@ static NO_COPY struct
|
||||
X (INVALID_DATA, EINVAL),
|
||||
X (INVALID_DRIVE, ENODEV),
|
||||
X (INVALID_EA_NAME, EINVAL),
|
||||
X (INVALID_EXE_SIGNATURE, ENOEXEC),
|
||||
X (INVALID_FUNCTION, EBADRQC),
|
||||
X (INVALID_HANDLE, EBADF),
|
||||
X (INVALID_NAME, ENOENT),
|
||||
X (INVALID_PARAMETER, EINVAL),
|
||||
X (INVALID_SIGNAL_NUMBER, EINVAL),
|
||||
X (IOPL_NOT_ENABLED, ENOEXEC),
|
||||
X (IO_DEVICE, EIO),
|
||||
X (IO_PENDING, EAGAIN),
|
||||
X (LOCK_VIOLATION, EACCES),
|
||||
|
Reference in New Issue
Block a user