[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-tar] 1.23: FreeBSD 7 bug affects GNU tar

From: Christian Weisgerber
Subject: [Bug-tar] 1.23: FreeBSD 7 bug affects GNU tar
Date: Mon, 29 Mar 2010 22:12:02 +0200
User-agent: Mutt/

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.

Christian "naddy" Weisgerber                          address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]