Cygwin: try_to_bin: fix rootdir handle after reopening
If the first rename fails, we reopen the rootdir for creating a subdir. The rootdir handle can change its value at this point, but the code doesn't take this into account. The subsequent rename then fails with STATUS_INVALID_HANDLE. Fix this by copying the new rootdir value to pfri->RootDirectory. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
		| @@ -389,6 +389,8 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access, ULONG flags) | ||||
| 	  		&recycler, status); | ||||
| 	  goto out; | ||||
| 	} | ||||
|       /* Correct the rootdir HANDLE in pfri after reopening the dir. */ | ||||
|       pfri->RootDirectory = rootdir; | ||||
|       /* Then check if recycler exists by opening and potentially creating it. | ||||
| 	 Yes, we can really do that.  Typically the recycle bin is created | ||||
| 	 by the first user actually using the bin. */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user