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:
parent
ec457e0351
commit
b7a6d357ee
@ -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. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user