1. 개요
- Tomcat 버그 : 61668 - Possible NullPointerException in org.apache.coyote.http11.AbstractHttp11Protocol
- 8.5.24 버전 및 9.0.2 이상에서 해결되었음
2. 원인
< org/apache/coyote/http11/AbstractHttp11Protocol >
public String getSslEnabledProtocols() { registerDefaultSSLHostConfig(); return StringUtils.join(defaultSSLHostConfig.getEnabledProtocols()); } public String getSSLProtocol() { registerDefaultSSLHostConfig(); return StringUtils.join(defaultSSLHostConfig.getEnabledProtocols()); }
(8.5 기준으로) 8.5.23 이하 버전에서, 위에서 사용된 StringUtils.join 메소드의 문제임
public static String join(String[] array) { return join(Arrays.asList(array)); }
3. 해결책
StringUtils.join 메소드가 개선되었음
< org/apache/tomcat/util/buf/StringUtils >
public static String join(String[] array) { if (array == null) { return EMPTY_STRING; } return join(Arrays.asList(array)); }