A NOTE has been added to this issue. ====================================================================== https://austingroupbugs.net/view.php?id=1435 ====================================================================== Reported By: zackw Assigned To: ====================================================================== Project: 1003.1(2016/18)/Issue7+TC2 Issue ID: 1435 Category: System Interfaces Type: Error Severity: Objection Priority: normal Status: New Name: Zack Weinberg Organization: GNU User Reference: Section: exec Page Number: (unknown) Line Number: (unknown) Interp Status: --- Final Accepted Text: ====================================================================== Date Submitted: 2020-12-15 14:50 UTC Last Modified: 2020-12-15 15:53 UTC ====================================================================== Summary: execlp and execvp should not execute a command interpreter when other members of the exec family would fail with ENOEXEC ====================================================================== Relationships ID Summary ---------------------------------------------------------------------- related to 0001226 shell can not test if a file is text ======================================================================
---------------------------------------------------------------------- (0005176) zackw (reporter) - 2020-12-15 15:53 https://austingroupbugs.net/view.php?id=1435#c5176 ---------------------------------------------------------------------- If you would prefer a more practical rationale for the proposed change, consider a program (a test suite driver, for instance) that wants to execute binaries that may have been cross-compiled and therefore may not be executable on the system where it's running, and distinguish ENOEXEC-type failure from other forms of failure. It runs on a wide variety of systems and therefore cannot rely on any binary-rejection heuristic being implemented by the shell. The only alternative is to avoid using execlp and execvp, but this means reimplementing PATH search by hand, and depending on the implementation language, it may not even be possible. (For instance, the Perl interpreter *only* exposes execvp and system to Perl programs.) Issue History Date Modified Username Field Change ====================================================================== 2020-12-15 14:50 zackw New Issue 2020-12-15 14:50 zackw Name => Zack Weinberg 2020-12-15 14:50 zackw Organization => GNU 2020-12-15 14:50 zackw Section => exec 2020-12-15 14:50 zackw Page Number => (unknown) 2020-12-15 14:50 zackw Line Number => (unknown) 2020-12-15 15:22 geoffclare Note Added: 0005173 2020-12-15 15:22 geoffclare Relationship added related to 0001226 2020-12-15 15:31 zackw Note Added: 0005174 2020-12-15 15:45 geoffclare Note Added: 0005175 2020-12-15 15:53 zackw Note Added: 0005176 ======================================================================