Index: trunk/modules/luni/src/main/java/java/net/URI.java =================================================================== --- trunk/modules/luni/src/main/java/java/net/URI.java (revision 429933) +++ trunk/modules/luni/src/main/java/java/net/URI.java (working copy) @@ -101,6 +101,10 @@ String path, String query, String fragment) throws URISyntaxException { + if (scheme == null && userinfo == null && host == null && + path == null && query == null && fragment == null) + return; + if (scheme != null && path != null && path.length() > 0 && path.charAt(0) != '/') { throw new URISyntaxException(path, Msg.getString("K0302")); Index: trunk/modules/luni/src/test/java/tests/api/java/net/URITest.java =================================================================== --- trunk/modules/luni/src/test/java/tests/api/java/net/URITest.java (revision 429933) +++ trunk/modules/luni/src/test/java/tests/api/java/net/URITest.java (working copy) @@ -734,7 +734,7 @@ /** * @tests java.net.URI#getAuthority() */ - public void test_getAuthority() { + public void test_getAuthority() throws Exception { URI[] uris = getUris(); String[] getAuthorityResults = { @@ -759,6 +759,8 @@ fail("Unexpected " + e.toString()); } } + //regression test for HARMONY-1119 + assertNull(new URI(null, null, null, 127, null, null, null).getAuthority()); } /**