[Bug 198819] rewinddir(3) after fdopendir(3) results in double entries
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Mar 23 05:17:59 UTC 2015
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198819
Bug ID: 198819
Summary: rewinddir(3) after fdopendir(3) results in double
entries
Product: Base System
Version: 10.1-RELEASE
Hardware: amd64
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: bin
Assignee: freebsd-bugs at FreeBSD.org
Reporter: markrwilliams at gmail.com
Created attachment 154687
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=154687&action=edit
example program that produces incorrect output on UFS
The attached program attempts to list the current working directory. It
obtains a pointer to the directory stream via fdopendir(3) and then calls
rewinddir(3) before a standard loop over readdir(3).
On two out of four machines I tested, the program lists the contents of the
current directory twice, like so:
$ ls -1
.
..
readdir_duplicate_entries
readdir_duplicate_entries.c
$ ./readdir_duplicate_entries
.
..
readdir_duplicate_entries.c
readdir_duplicate_entries
.
..
readdir_duplicate_entries.c
readdir_duplicate_entries
$
The program produces the correct output if rewinddir(3) is not called or if
opendir(3) is called instead of open(2)/fdopendir(3).
uname -a for the affected machines:
FreeBSD lithos.ferv.org 10.1-RELEASE-p5 FreeBSD 10.1-RELEASE-p5 #0: Tue Jan 27
08:55:07 UTC 2015
root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
FreeBSD ip-172-31-19-241 10.1-RELEASE-p6 FreeBSD 10.1-RELEASE-p6 #0: Tue Feb 24
19:00:21 UTC 2015
root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
All mounts on both of the affected machines are UFS.
All mounts on the the third and fourth machines, on which the test program
produced *correct* output, are ZFS.
uname information for those:
FreeBSD glob 10.0-RELEASE-p9 FreeBSD 10.0-RELEASE-p9 #0: Mon Sep 15 14:35:52
UTC 2014 root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
amd64
FreeBSD 10.1-RELEASE-p6 (GENERIC) #0: Tue Feb 24 19:00:21 UTC 2015
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list