Serious bug in stdio on some ``System V'' derivatives
John Buck
john at polyof.UUCP
Fri Oct 7 11:59:42 AEST 1988
Aside from the NOFILE vs. _NFILE size problems, fdopen() introduces
another little (possibly confusing) side effect to stdio. Namely,
fd = open("somefile", 2);
...
fp1 = fdopen(fd, "r");
fp2 = fdopen(fd, "r+");
Problem here is that fp1 and fp2 SHARE the same IO buffer, since
the way "stdio" determines the buffer is via the bufendtab[file_descriptor].
If two "file handles" (FILE *'s) are open to the same file descriptor,
buffer clashing will occur.
This is something to watch out for, because I have been stung by it a couple
of times.
john at polyof.poly.edu
john at polygraf.bitnet
john@[128.238.10.100] (polyof.poly.edu)
trixie!polyof!john
More information about the Comp.bugs.sys5
mailing list