Empty file without "x" permission is successfully executable on Cygwin
Thomas Wolff
towo@towo.net
Mon Aug 5 20:19:00 GMT 2019
Am 05.08.2019 um 22:01 schrieb Ken Brown:
> On 8/5/2019 2:18 PM, Lavrentiev, Anton (NIH/NLM/NCBI) [C] via cygwin wrote:
>> Hi,
>>
>> Please consider the following shell session:
>>
>> $ cat dummy.c
>> #include <stdio.h>
>>
>> int main()
>> {
>> return 0;
>> }
>> $ gcc -o dummy dummy.c
>> $ mv dummy.exe dummy
>> $ ./dummy
>> $ echo $?
>> 0
>> $ chmod a-x dummy
>> $ ./dummy
>> -bash: ./dummy: Permission denied
>> $ rm dummy
>> $ touch dummy
>> $ ./dummy
>> $ echo $?
>> 0
>>
>> So Cygwin lets the shell to execute a zero-sized file regardless of the "x" perm
>> (non-empty files are not executable if they do not have "x", as shown above).
> I can't reproduce this on my system. Can you show the permissions and ACL of dummy?
>
>> There's more. If I put some rubbish in a file, Cygwin still tries to execute it even if the "x" is not there:
>>
>> $ rm dummy
>> $ echo "1" > dummy
>> $ ./dummy
>> ./dummy: line 1: 1: command not found
> Again I can't reproduce this.
I reproduce the behaviour:
> echo echo foo > bar
> ls -l bar
-rw-r--r-- 1 towo None 9Â 5. Aug 22:18 bar
> ./bar
foo
>
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list