Savannah bug #19948: Fixed an assertion failure on IRIX 6.5 (O_NOFOLLOW is defined to 0 there)

This commit is contained in:
James Youngman
2007-05-24 08:32:51 +00:00
parent 6506f06158
commit 8dfc8451c7
3 changed files with 12 additions and 0 deletions

View File

@@ -1,5 +1,9 @@
2007-05-24 James Youngman <jay@gnu.org>
* find/util.c (check_nofollow): If O_NOFOLLOW is defined but 0,
act as if it is undefined. This should prevent a runtime
assertion failure on IRIX 6.5. This fixes Savannah bug #19948.
* m4/noreturn.m4: New file, testing for support of __attribute__
((__noreturn__)). Defines jy_AC_ATTRIBUTE_NORETURN and sets
HAVE_ATTRIBUTE_NORETURN.

3
NEWS
View File

@@ -6,6 +6,9 @@ GNU findutils NEWS - User visible changes. -*- outline -*- (allout)
Findutils should now build on systems which have the modf() function
in the maths library, -lm. This includes some versions of HP-UX.
#19948: Fixed an assertion failure on IRIX 6.5 (O_NOFOLLOW is defined
to 0 there).
#19923: Fixed an array overrun in groups[] array of 'locate' when run by
or as root. This bug appears not to be exploitable. If locate is not
installed setuid, the bug is not exploitable. For setuid

View File

@@ -257,6 +257,11 @@ check_nofollow(void)
struct utsname uts;
float release;
if (0 == O_NOFOLLOW)
{
return false;
}
if (0 == uname(&uts))
{
/* POSIX requires that atof() ignore "unrecognised suffixes". */