This is the mail archive of the
cygwin-patches@cygwin.com
mailing list for the Cygwin project.
Re: [Patch]: NUL and other special names
Christopher Faylor wrote:
>
> On Mon, May 31, 2004 at 06:46:11PM -0400, Pierre A. Humblet wrote:
> >This patch prevents NtCreateFile from creating files with special
> >names such as NUL.
> >Because this needs to be checked very often, I tried to code it
> >efficiently with a binary search (it can perhaps be reused elsewhere).
> >
> >The new function is_special_name() overlaps with special_name(),
> >although there are small differences (it was designed from tests
> >on XP Home Ed). Perhaps these two can be merged one day.
>
> Haven't we already done a "GetFileAttributes" on the path by the time
> it reaches the NtCreateFile? If so, couldn't we just avoid trying to
> create a file which has "bad" attributes?
Chris,
Yes, we have done a "GetFileAttributes". I just checked the values.
For AUX, CON, COMx, LPTx, NUL and PRN, the attribute is 0x20,
FILE_ATTRIBUTE_ARCHIVE
For conin$, conout$ and clock$ it is FFFFFFFF
So we could filter on those values and only test for special names
if necessary.
Is that what you meant?
Pierre