Commit 2763d20edded7c1434d58e36c5dd05ed68784f90

Eric Blake 2009-10-02T12:05:02

rename, fchdir: don't ignore chdir failure Although we just checked that chdir(cwd) worked, there is a race where it could disappear while we are temporarily away. If that happens, forcefully give up rather than proceeding in the wrong directory. * lib/fchdir.c (get_name): Abort on unexpected chdir failure. * lib/rename.c (rpl_rename) [W32]: Likewise. (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing an empty destination directory if source cannot be renamed, although there is still possibility for failure. * doc/posix-functions/rename.texi (rename): Document the race. Reported by Jim Meyering. Signed-off-by: Eric Blake <ebb9@byu.net>