X-Recipient: archive-cygwin@delorie.com
X-Spam-Check-By: sourceware.org
Message-ID: <48080F30.2060804@cisra.canon.com.au>
Date: Fri, 18 Apr 2008 13:02:08 +1000
From: Luke Kendall <luke.kendall@cisra.canon.com.au>
User-Agent: Thunderbird 1.5.0.14 (Windows/20071210)
MIME-Version: 1.0
To: cygwin@cygwin.com, cygwin@cygwin.com
Subject: Re: Directory existence prevents .exe execution
References: <D80722838B6A6B4BA3CA9D90BA70BBB302E0DFAF@dhrseasvxb04.messaging.danaherad.com> <20080416064211.40A7F84237@pessard.research.canon.com.au> <20080416092618.GP23852@calimero.vinschen.de>
In-Reply-To: <20080416092618.GP23852@calimero.vinschen.de>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

Corinna Vinschen wrote:
> On Apr 16 16:42, Luke Kendall wrote:
>   
>> Suppose that when it does a stat() on "fred", before it decides that
>> it's found the right file to exec, it should check that "fred" isn't a
>>     
>
> A stat() call can't know for what purpose it has been called.  Calling
> stat on "foo", it will return the information for "foo" first, if it
> exists.  Only if it not exists it tries "foo.exe" or "foo.lnk".
>   
Sure, that makes sense.  The stat() call can't know, but the exec() 
certainly does know that it's trying to execute.  So I meant that exec() 
could call stat(), and if the file exists but is a directory, reject it 
as a possible thing to execute, and continue with what I assume is the 
existing Windows-specific logic to look for foo.exe or foo.lnk.

What do you think, does the idea make sense?

Regards,

luke
> Corinna
>
>   


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

