re PR libgcj/24170 (libjava natFilePosix.cc seems to have a security problem)
authorTom Tromey <tromey@redhat.com>
Wed, 20 Feb 2008 19:09:09 +0000 (19:09 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Wed, 20 Feb 2008 19:09:09 +0000 (19:09 +0000)
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

libjava/ChangeLog
libjava/configure
libjava/configure.ac
libjava/include/config.h.in
libjava/java/io/natFilePosix.cc

index 33813125d55126caf57429c156934ceeebedf354..8358c4a04ee06da95cd3433f3da42e6c23145ec4 100644 (file)
@@ -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>
 
        PR libgcj/33085
index 69dec24f817a4befc962a2abbc87cf8574e76581..f45c9b55567ba8565c0eec3b0ebf05012f84f92a 100755 (executable)
@@ -20791,11 +20791,10 @@ else
 
 
 
-
 
 
 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 \
                   nl_langinfo setlocale \
                   inet_pton uname inet_ntoa \
index 0abf1bf87a9a9c7759e278540cd712ad13481924..2ef3b7245b0a58d13a1b2ec66c11ec09f0f1959d 100644 (file)
@@ -1023,7 +1023,7 @@ if test "x${with_newlib}" = "xyes"; then
    PLATFORMNET=NoNet
 else
    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 \
                   nl_langinfo setlocale \
                   inet_pton uname inet_ntoa \
index 99da702417cc82d3b11237b992c5f8de969bb39f..3fdde3944f2a9373c5d72674f90225b6ccc5fa57 100644 (file)
 /* Define to 1 if you have the <pwd.h> header file. */
 #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. */
 #undef HAVE_READLINK
 
index ead28557f6e4cf188848ca02b42846c3b235dd22..5b6ec8458acced7f610e40e7dc5d9a8ba9137722 100644 (file)
@@ -1,6 +1,6 @@
 // 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
 
    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 ();
   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)
-#endif /* HAVE_READDIR_R */
     {
       // Omit "." and "..".
       if (d->d_name[0] == '.'