mirror of git://gcc.gnu.org/git/gcc.git
re PR libgcj/24170 (libjava natFilePosix.cc seems to have a security problem)
PR libgcj/24170: * java/io/natFilePosix.cc (File::performList): Don't use readdir_r. * configure, include/config.h.in: Rebuilt. * configure.ac: Don't check for readdir_r. From-SVN: r132491
This commit is contained in:
parent
993ac7c7ef
commit
c8910ef9e2
|
|
@ -1,3 +1,11 @@
|
||||||
|
2008-02-20 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
|
PR libgcj/24170:
|
||||||
|
* java/io/natFilePosix.cc (File::performList): Don't use
|
||||||
|
readdir_r.
|
||||||
|
* configure, include/config.h.in: Rebuilt.
|
||||||
|
* configure.ac: Don't check for readdir_r.
|
||||||
|
|
||||||
2008-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
2008-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||||
|
|
||||||
PR libgcj/33085
|
PR libgcj/33085
|
||||||
|
|
|
||||||
|
|
@ -20791,11 +20791,10 @@ else
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for ac_func in strerror_r select fstat open fsync sleep opendir \
|
for ac_func in strerror_r select fstat open fsync sleep opendir \
|
||||||
localtime_r readdir_r getpwuid_r getcwd \
|
localtime_r getpwuid_r getcwd \
|
||||||
access stat lstat mkdir rename rmdir unlink utime chmod readlink \
|
access stat lstat mkdir rename rmdir unlink utime chmod readlink \
|
||||||
nl_langinfo setlocale \
|
nl_langinfo setlocale \
|
||||||
inet_pton uname inet_ntoa \
|
inet_pton uname inet_ntoa \
|
||||||
|
|
|
||||||
|
|
@ -1023,7 +1023,7 @@ if test "x${with_newlib}" = "xyes"; then
|
||||||
PLATFORMNET=NoNet
|
PLATFORMNET=NoNet
|
||||||
else
|
else
|
||||||
AC_CHECK_FUNCS([strerror_r select fstat open fsync sleep opendir \
|
AC_CHECK_FUNCS([strerror_r select fstat open fsync sleep opendir \
|
||||||
localtime_r readdir_r getpwuid_r getcwd \
|
localtime_r getpwuid_r getcwd \
|
||||||
access stat lstat mkdir rename rmdir unlink utime chmod readlink \
|
access stat lstat mkdir rename rmdir unlink utime chmod readlink \
|
||||||
nl_langinfo setlocale \
|
nl_langinfo setlocale \
|
||||||
inet_pton uname inet_ntoa \
|
inet_pton uname inet_ntoa \
|
||||||
|
|
|
||||||
|
|
@ -214,9 +214,6 @@
|
||||||
/* Define to 1 if you have the <pwd.h> header file. */
|
/* Define to 1 if you have the <pwd.h> header file. */
|
||||||
#undef HAVE_PWD_H
|
#undef HAVE_PWD_H
|
||||||
|
|
||||||
/* Define to 1 if you have the `readdir_r' function. */
|
|
||||||
#undef HAVE_READDIR_R
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `readlink' function. */
|
/* Define to 1 if you have the `readlink' function. */
|
||||||
#undef HAVE_READLINK
|
#undef HAVE_READLINK
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// natFile.cc - Native part of File class for POSIX.
|
// natFile.cc - Native part of File class for POSIX.
|
||||||
|
|
||||||
/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006
|
/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2008
|
||||||
Free Software Foundation
|
Free Software Foundation
|
||||||
|
|
||||||
This file is part of libgcj.
|
This file is part of libgcj.
|
||||||
|
|
@ -292,13 +292,7 @@ java::io::File::performList (java::io::FilenameFilter *filter,
|
||||||
|
|
||||||
java::util::ArrayList *list = new java::util::ArrayList ();
|
java::util::ArrayList *list = new java::util::ArrayList ();
|
||||||
struct dirent *d;
|
struct dirent *d;
|
||||||
#if defined(HAVE_READDIR_R) && defined(_POSIX_PTHREAD_SEMANTICS)
|
|
||||||
int name_max = pathconf (buf, _PC_NAME_MAX);
|
|
||||||
char dbuf[sizeof (struct dirent) + name_max + 1];
|
|
||||||
while (readdir_r (dir, (struct dirent *) dbuf, &d) == 0 && d != NULL)
|
|
||||||
#else /* HAVE_READDIR_R */
|
|
||||||
while ((d = readdir (dir)) != NULL)
|
while ((d = readdir (dir)) != NULL)
|
||||||
#endif /* HAVE_READDIR_R */
|
|
||||||
{
|
{
|
||||||
// Omit "." and "..".
|
// Omit "." and "..".
|
||||||
if (d->d_name[0] == '.'
|
if (d->d_name[0] == '.'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue