This is the mail archive of the cygwin-developers 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]
Other format: [Raw text]

[Fwd: Re: Problems with Cygwin-1.7.8 (or snapshot) and TeXLive 2010]

> On Mar  7 11:11, Corinna Vinschen wrote:
> [...]
> Ok, I found a simpler testcase.  If you have the texmf-bin package
> installed, just try this:
>   $ cd /var/lib/texmf/web2c
>   $ rm -f aleph.*
>   $ aleph -ini -jobname=aleph -progname=aleph *aleph.ini > /dev/null
>   $ ls -l aleph.*
> and you'll see that the aleph.* files have not 0644, but other, wrong
> permissions.
> As I expected the aforementioned patch is the culprit, but in an
> entirely unexpected way.  Basically, the patch adds a bool parameter to
> the functions get_file_sd.  If it's true, the Win32 function
> GetSecurityInfo is called, just like before, if it's false, the native
> NT function NtQuerySecurityObject is called instead.
> Now, for some reason, on XP, but not on Windows 7, the call to
> GetSecurityInfo suddenly fails with an error 487, ERROR_INVALID_ADDRESS.
> Apart from the fact that it's not always called anymore, nothing has
> changed in the way GetSecurityInfo is called!
> I tried various changes, but to no avail.  I have not the faintest clue
> why GetSecurityInfo suddenly fails on XP.  The only way I can get
> GetSecurityInfo to work on XP is by removing the additional bool
> parameter :-(

Can anybody explain to me what happened lately?  Is it a coincidence
that we had (at least?) two changes in the last couple of months which
trigger a 487 error on XP for no apparent reason?

How is it possible that an additional parameter to the calling function
can trigger an ERROR_INVALID_ADDRESS in a subsequently called Win32
function, even if this parameter is just a bool value not eve used in
the Win32 call?!?

Just for the records, I tested to remove the __stdcall and the regparm
from get_file_sd.  I tried to replace the type bool with the Win32
typer BOOL and the native NT type BOOLEAN.  I rearranged the code.
Nothing helps, except removing the additional parameter to get_file_sd.

I don't get this.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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