[Top][All Lists]

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

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

From: Sergey Poznyakoff
Subject: Christian Weisgerber: [Bug-tar] 1.23: FreeBSD 7 bug affects GNU tar
Date: Tue, 30 Mar 2010 00:04:16 +0300


Here's a report from one of GNU tar users.


------- Forwarded message
Date: Mon, 29 Mar 2010 22:12:02 +0200
From: Christian Weisgerber <address@hidden>
To: address@hidden
Message-ID: <address@hidden>
Subject: [Bug-tar] 1.23: FreeBSD 7 bug affects GNU tar

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

------- End of Forwarded message

reply via email to

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