* spawn.cc (av::fixup): Treat non-readable, but executable files as
Cygwin executables.
This commit is contained in:
		
							parent
							
								
									a6f3658d44
								
							
						
					
					
						commit
						b3f5fb3718
					
				| 
						 | 
				
			
			@ -1,3 +1,8 @@
 | 
			
		|||
2009-10-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
			
		||||
 | 
			
		||||
	* spawn.cc (av::fixup): Treat non-readable, but executable files as
 | 
			
		||||
	Cygwin executables.
 | 
			
		||||
 | 
			
		||||
2009-10-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
			
		||||
 | 
			
		||||
	* uinfo.cc (uinfo_init): Deimpersonate, don't reimpersonate, if
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1003,7 +1003,18 @@ av::fixup (const char *prog_arg, path_conv& real_path, const char *ext)
 | 
			
		|||
			   | FILE_OPEN_FOR_BACKUP_INTENT
 | 
			
		||||
			   | FILE_NON_DIRECTORY_FILE);
 | 
			
		||||
      if (!NT_SUCCESS (status))
 | 
			
		||||
	goto err;
 | 
			
		||||
	{
 | 
			
		||||
	  /* File is not readable?  Doesn't mean it's not executable.
 | 
			
		||||
	     Test for executablility and if so, just assume the file is
 | 
			
		||||
	     a cygwin executable and go ahead. */
 | 
			
		||||
	  if (status == STATUS_ACCESS_DENIED && real_path.has_acls ()
 | 
			
		||||
	      && check_file_access (real_path, X_OK, true) == 0)
 | 
			
		||||
	    {
 | 
			
		||||
	      real_path.set_cygexec (true);
 | 
			
		||||
	      break;
 | 
			
		||||
	    }
 | 
			
		||||
	  goto err;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
      HANDLE hm = CreateFileMapping (h, &sec_none_nih, PAGE_READONLY, 0, 0, NULL);
 | 
			
		||||
      NtClose (h);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue