--- a/mercurial/osutil.c Wed Sep 10 09:41:42 2008 -0400
+++ b/mercurial/osutil.c Wed Sep 10 22:37:07 2008 +0200
@@ -255,7 +255,8 @@
#ifdef AT_SYMLINK_NOFOLLOW
dfd = open(path, O_RDONLY);
- dir = fdopendir(dfd);
+ if (dfd != -1)
+ dir = fdopendir(dfd);
#else
dir = opendir(path);
dfd = -1;