fchdir(fd) defect

Christopher Faylor cgf@redhat.com
Sun Oct 14 08:49:00 GMT 2001


On Sun, Oct 14, 2001 at 11:39:13AM -0400, Christopher Faylor wrote:
>On Sun, Oct 14, 2001 at 09:25:49AM -0400, Earnie Boyd wrote:
>>I've discovered that if
>>
>>chdir("/some/dir/foo")
>>fd=open(".", O_RDONLY)
>>chdir("/some/dir/bar")
>>fchdir(fd) will change to "some/dir/bar" not to "some/dir/foo".
>>
>>The reason for this is simply that the open stores the "." in the fd
>>table and not the absolute directory name it points to.  I don't have a
>>patch for this yet, I wanted to alert to the problem before 1.3.4
>>released.  Feel free to beat me to the punch with the patch.
>
>It's a simple fix to build_fhandler_new.  Add PC_FULL to the arguments
>to path_conv.check.

I've checked in a fix for this and a corresponding removal of code from
fchdir.

Thanks,
cgf



More information about the Cygwin-developers mailing list