Commit c8910ef9 by Tom Tromey Committed by Tom Tromey

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
parent 993ac7c7
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
......
...@@ -20793,9 +20793,8 @@ else ...@@ -20793,9 +20793,8 @@ 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 ...@@ -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 @@ ...@@ -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
......
// 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, ...@@ -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] == '.'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment