K 10 svn:author V 6 jilles K 8 svn:date V 27 2021-01-30T15:13:11.951552Z K 7 svn:log V 862 sh: Allow more scripts without #! Austin Group bugs #1226 and #1250 changed the requirements for shell scripts without #! (POSIX does not specify #!; this is about the shell execution when execve(2) returns an [ENOEXEC] error). POSIX says we shall allow execution if the initial part intended to be parsed by the shell consists of characters and does not contain the NUL character. This allows concatenating a shell script (ending with exec or exit) and a binary payload. In order to reject common binary files such as PNG images, check that there is a lowercase letter or expansion before the last newline before the NUL character, in addition to the check for the newline character suggested by POSIX. (cherry picked from commit e0f5c1387df23c8c4811f5b24a7ef6ecac51a71a) Git Hash: 3708b615c354df013037c065d5a714207c041ea8 Git Author: jilles@FreeBSD.org END