aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/mach/hurd/getcwd.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/getcwd.c b/sysdeps/mach/hurd/getcwd.c
index abec22c12c..039f1341d5 100644
--- a/sysdeps/mach/hurd/getcwd.c
+++ b/sysdeps/mach/hurd/getcwd.c
@@ -119,6 +119,7 @@ __getcwd (char *buf, size_t size)
unsigned int dirdatasize;
int direntry, nentries;
+
/* Look at the parent directory. */
newp = __file_name_lookup_under (parent, "..", O_READ, 0);
if (newp == MACH_PORT_NULL)
@@ -187,6 +188,11 @@ __getcwd (char *buf, size_t size)
break;
}
}
+
+ if (offset < dirdatasize)
+ /* We got a match; avoid doing another dir_readdir, which will
+ hose NENTRIES. */
+ break;
}
if (err)