Author: markt
Date: Mon Nov 20 11:53:20 2017
New Revision: 1815793
URL: http://svn.apache.org/viewvc?rev=1815793&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=61777
Avoid a NullPointerException when detaching a JASPIC RegistrationListener.
Patch provided by Lazar.
This closes #85
Modified:
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java
tomcat/trunk/test/org/apache/catalina/authenticator/jaspic/TestAuthConfigFactoryImpl.java
tomcat/trunk/webapps/docs/changelog.xml
Modified:
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java?rev=1815793&r1=1815792&r2=1815793&view=diff
==============================================================================
---
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java
(original)
+++
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java
Mon Nov 20 11:53:20 2017
@@ -243,7 +243,7 @@ public class AuthConfigFactoryImpl exten
public String[] detachListener(RegistrationListener listener, String
layer, String appContext) {
String registrationID = getRegistrationID(layer, appContext);
RegistrationContextImpl registrationContext =
findRegistrationContextImpl(layer, appContext);
- if (registrationContext.removeListener(listener)) {
+ if (registrationContext != null &&
registrationContext.removeListener(listener)) {
return new String[] { registrationID };
}
return EMPTY_STRING_ARRAY;
Modified:
tomcat/trunk/test/org/apache/catalina/authenticator/jaspic/TestAuthConfigFactoryImpl.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/authenticator/jaspic/TestAuthConfigFactoryImpl.java?rev=1815793&r1=1815792&r2=1815793&view=diff
==============================================================================
---
tomcat/trunk/test/org/apache/catalina/authenticator/jaspic/TestAuthConfigFactoryImpl.java
(original)
+++
tomcat/trunk/test/org/apache/catalina/authenticator/jaspic/TestAuthConfigFactoryImpl.java
Mon Nov 20 11:53:20 2017
@@ -244,6 +244,21 @@ public class TestAuthConfigFactoryImpl {
}
+ @Test
+ public void testDetachListenerNonexistingRegistration() {
+ AuthConfigFactory factory = new AuthConfigFactoryImpl();
+ AuthConfigProvider acp1 = new SimpleAuthConfigProvider(null, null);
+ String registrationId = factory.registerConfigProvider(acp1, "L_1",
"AC_1", null);
+
+ SimpleRegistrationListener listener1 = new
SimpleRegistrationListener("L_1", "AC_1");
+ factory.getConfigProvider("L_1", "AC_1", listener1);
+
+ factory.removeRegistration(registrationId);
+ String[] registrationIds = factory.detachListener(listener1, "L_1",
"AC_1");
+ Assert.assertTrue(registrationIds.length == 0);
+ }
+
+
private static class SimpleRegistrationListener implements
RegistrationListener {
private final String layer;
Modified: tomcat/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1815793&r1=1815792&r2=1815793&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Mon Nov 20 11:53:20 2017
@@ -82,6 +82,11 @@
Avoid a possible <code>NullPointerException</code> when timing out
<code>AsyncContext</code> instances during shut down. (markt)
</fix>
+ <fix>
+ <bug>61777</bug>: Avoid a <code>NullPointerException</code> when
+ detaching a JASPIC <code>RegistrationListener</code>. Patch provided by
+ Lazar. (markt)
+ </fix>
</changelog>
</subsection>
<subsection name="Coyote">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]