--- source3/smbd/dir.c.orig 2012-12-06 04:28:00.000000000 -0500 +++ source3/smbd/dir.c 2013-01-08 22:39:07.000000000 -0500 @@ -597,7 +597,7 @@ #ifdef HAVE_DIRFD if (fsp->fh->fd != -1 && fsp->dptr->dir_hnd && - dirfd(fsp->dptr->dir_hnd->dir)) { + fsp->fh->fd == dirfd(fsp->dptr->dir_hnd->dir)) { /* The call below closes the underlying fd. */ fsp->fh->fd = -1; }