Ingo Schwarze wrote on Mon, Nov 04, 2013 at 09:51:41AM +0100:
> I will send a minimal one-line patch to just fix the bug
> and do nothing else. We should get that one in quickly.
> That would also be a candidate for -stable, i think.
> I hope to come round to that tonight.
Here it is.
This fixes both our own regression tests (Ottos and mine)
and the perl-5.18 op/threads-dirh.t test.
This is not particularly efficient, forcing getdents(2) for each
readdir(3) following seekdir(3), but at least it produces correct
results, for a start.
OK?
Ingo
Index: telldir.c
===================================================================
RCS file: /cvs/src/lib/libc/gen/telldir.c,v
retrieving revision 1.15
diff -u -p -r1.15 telldir.c
--- telldir.c 16 Aug 2013 05:27:39 -0000 1.15
+++ telldir.c 4 Nov 2013 21:11:55 -0000
@@ -67,5 +67,6 @@ telldir(DIR *dirp)
void
__seekdir(DIR *dirp, long loc)
{
+ dirp->dd_loc = 0;
dirp->dd_curpos = lseek(dirp->dd_fd, loc, SEEK_SET);
}