Index: java/io/File.java =================================================================== RCS file: /cvsroot/classpath/classpath/java/io/File.java,v retrieving revision 1.37 diff -u -b -B -r1.37 File.java --- java/io/File.java 21 Oct 2003 14:53:54 -0000 1.37 +++ java/io/File.java 10 Jan 2004 22:39:01 -0000 @@ -670,8 +670,10 @@ String files[] = listInternal(list_path); + // Check if an error occured in listInternal(). if (files == null) - return new String[0]; + return null; + if (filter == null) return files; Index: native/jni/java-io/java_io_File.c =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/java-io/java_io_File.c,v retrieving revision 1.9 diff -u -b -B -r1.9 java_io_File.c --- native/jni/java-io/java_io_File.c 19 Aug 2003 08:59:56 -0000 1.9 +++ native/jni/java-io/java_io_File.c 10 Jan 2004 22:39:01 -0000 @@ -682,6 +682,9 @@ /* save into array */ (*env)->SetObjectArrayElement(env, filearray, i, str); + + /* delete local reference */ + (*env)->DeleteLocalRef(env, str); } /* free resources */