diff options
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 6 | ||||
-rw-r--r-- | libjava/java/io/File.java | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 0f7225bf335..bee1eb0d907 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2005-12-14 Tom Tromey <tromey@redhat.com> + + PR classpath/25389: + * java/io/File.java (File): Throw IllegalArgumentException if URI is + non-hierarchical. + 2005-12-12 Andrew Haley <aph@redhat.com> * java/lang/VMCompiler.java: Directly generate a new instance of diff --git a/libjava/java/io/File.java b/libjava/java/io/File.java index 06c321556f2..e3d59cb7d24 100644 --- a/libjava/java/io/File.java +++ b/libjava/java/io/File.java @@ -434,7 +434,11 @@ public class File implements Serializable, Comparable if (!uri.getScheme().equals("file")) throw new IllegalArgumentException("invalid uri protocol"); - path = normalizePath(uri.getPath()); + String name = uri.getPath(); + if (name == null) + throw new IllegalArgumentException("URI \"" + uri + + "\" is not hierarchical"); + path = normalizePath(name); } /** |