[adding bug-gnulib]

On 03/29/2010 02:12 PM, Christian Weisgerber wrote:
> There is a stupid, stupid bug in FreeBSD 7 (up to and including the
> 7.3 release):  The fdopendir() function is present in libc, but the
> prototype is missing from <dirent.h>.
> 
> GNU tar's configure picks up fdopendir(), but since there is no
> prototype, it ends up typed as
> 
>   int fdopendir();
> 
> This is bad.  fdopendir() returns a pointer, which is truncated
> from 64 to 32 bits on LP64 platforms.  Running GNU tar's "make
> check" leaves a trail of coredumps behind...
> 
> The macro complex around m4/dirent*.m4 and m4/fdopendir.m4 needs
> some sort of check if fdopendir() is declared, and if not, must
> provide a prototype.  These macros are probably used in other GNU
> projects as well, and bug-tar may not be the right address, but I'm
> throwing it out there in the hope that it will reach somebody who
> knows how to deal with this properly.

Yep, tar borrows this from gnulib.  It shouldn't be too hard to address
in gnulib, at which point, the next tar release to use a new gnulib will
automatically be fixed.

-- 
Eric Blake   ebl...@redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to