This is the mail archive of the cygwin-developers@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Permission denied with makeinfo from texinfo-4.0


On Sun, Apr 02, 2000 at 03:58:57PM -0500, Mumit Khan wrote:
>On Wed, 15 Mar 2000, Chris Faylor wrote:
>> This sounds correct to me.  Passing what is essentially a bogus argument
>> for the buffer length is just wrong.  At the very least, it's subject to
>> problems if the file size changes while you're reading it.  Admittedly
>> this is an unusual occurrence but why not program for something like this
>> and fail gracefully rather than core dumping?
>> 
>
>fyi, the makeinfo bug is caused by a (undocumented of course) bug in Win32 
>ReadFile routine.
>
>Here's what David Korn says when it showed up in UWIN as well:
>
>Yet some more bizarre undocumented win32 behavior.  If you call the
>Win32 ReadFile() function with size greater than 32K, and you are at
>the end of file, it does not return successfully with 0 bytes as you
>would expect, but fails with ERROR_NOACCESS.
>
>This should be fixed in the runtime, but I have to find a reliable way
>to detect this (since we have to differentiate between this buggy
>behaviour and other legitimate causes of ERROR_NOACCESS).

Are we sure that this is a correct analysis?  The previous analysis was
that ReadFile was being passed a length which was larger than its
supplied buffer.  That is (to me) inarguably wrong.  You can't say "I
know how big the file is" because you can *never* know how big the file
is in a multi-tasking operating system.

It seems like Dave Bryan went to some effort to track this down and I don't
see that his analysis is incorrect.

cgf

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]