Be careful with fdopendir() on RELENG_7
naddy at mips.inka.de
Mon Mar 29 19:53:52 UTC 2010
There is a silly bug in RELENG_7 up to and including RELENG_7_3:
fdopendir(3) is available in libc, but the prototype is missing
This can have unexpected consequences. A configure script can
notice that fdopendir() is available, but due to the missing
prototype, the function will be typed as the default
This is bad. fdopendir() returns a pointer and unless correctly
prototyped, the return value will be truncated from 64 to 32 bits
on LP64 platforms.
So if you notice that something picks up the fdopendir() function
you need to either disable it for 702102 to 703100 (inclusive) or
make sure that the correct prototype
is wedged in somehow.
This isn't a hypothetical concern. When I initially tried gtar
1.23 on 7.3/amd64, it left a trail of coredumps because of this.
Christian "naddy" Weisgerber naddy at mips.inka.de
More information about the freebsd-ports