+2010-02-26 Pierre Humblet <Pierre.Humblet@ieee.org>
+
+ * security.cc (check_access): Use user.imp_token if appropriate.
+ Set errno and return if DuplicateTokenEx fails .
+
2010-02-26 Corinna Vinschen <corinna@vinschen.de>
Remove all traces of __CYGWIN_USE_BIG_TYPES__.
? cygheap->user.imp_token ()
: hProcImpToken);
- if (!tok && !DuplicateTokenEx (hProcToken, MAXIMUM_ALLOWED, NULL,
- SecurityImpersonation, TokenImpersonation,
- &hProcImpToken))
-#ifdef DEBUGGING
- system_printf ("DuplicateTokenEx failed, %E");
-#else
- syscall_printf ("DuplicateTokenEx failed, %E");
-#endif
- else
- tok = hProcImpToken;
+ if (!tok)
+ {
+ if (!DuplicateTokenEx (hProcToken, MAXIMUM_ALLOWED, NULL,
+ SecurityImpersonation, TokenImpersonation,
+ &hProcImpToken))
+ {
+ __seterrno ();
+ return ret;
+ }
+ tok = hProcImpToken;
+ }
if (!AccessCheck (sd, tok, desired, &mapping, pset, &plen, &granted, &status))
__seterrno ();