OpenJDK / jdk / jdk
changeset 28657:e968ff5c0998
8055045: StringIndexOutOfBoundsException while reading krb5.conf
Reviewed-by: mullan
author | weijun |
---|---|
date | Mon, 26 Jan 2015 09:29:29 +0800 |
parents | b2f9702efbe9 |
children | 344426303820 |
files | jdk/src/java.security.jgss/share/classes/sun/security/krb5/Config.java jdk/test/sun/security/krb5/config/ParseConfig.java jdk/test/sun/security/krb5/config/krb5.conf |
diffstat | 3 files changed, 18 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/jdk/src/java.security.jgss/share/classes/sun/security/krb5/Config.java Wed Jul 05 20:16:23 2017 +0200 +++ b/jdk/src/java.security.jgss/share/classes/sun/security/krb5/Config.java Mon Jan 26 09:29:29 2015 +0800 @@ -913,9 +913,9 @@ private static String unquote(String s) { s = s.trim(); - if (s.isEmpty()) return s; - if (s.charAt(0) == '"' && s.charAt(s.length()-1) == '"' || - s.charAt(0) == '\'' && s.charAt(s.length()-1) == '\'') { + if (s.length() >= 2 && + ((s.charAt(0) == '"' && s.charAt(s.length()-1) == '"') || + (s.charAt(0) == '\'' && s.charAt(s.length()-1) == '\''))) { s = s.substring(1, s.length()-1).trim(); } return s;
--- a/jdk/test/sun/security/krb5/config/ParseConfig.java Wed Jul 05 20:16:23 2017 +0200 +++ b/jdk/test/sun/security/krb5/config/ParseConfig.java Mon Jan 26 09:29:29 2015 +0800 @@ -22,7 +22,7 @@ */ /* * @test - * @bug 6319046 + * @bug 6319046 8055045 * @compile -XDignore.symbol.file ParseConfig.java * @run main/othervm ParseConfig * @summary Problem with parsing krb5.conf @@ -32,7 +32,8 @@ public class ParseConfig { public static void main(String[] args) throws Exception { - System.setProperty("java.security.krb5.conf", System.getProperty("test.src", ".") +"/krb5.conf"); + System.setProperty("java.security.krb5.conf", + System.getProperty("test.src", ".") + "/krb5.conf"); Config config = Config.getInstance(); config.listTable(); @@ -44,5 +45,11 @@ expected + "\""); } } + + // JDK-8055045: IOOBE when reading an empty value + config.get("empty1", "NOVAL.COM"); + config.get("empty2", "NOVAL.COM"); + config.get("quote1", "NOVAL.COM"); + config.get("quote2", "NOVAL.COM"); } }