remm 01/09/10 10:52:45 Modified: catalina/src/share/org/apache/catalina/realm MemoryRealm.java Log: - Fix for bug 3524 (NPE in memory realm). Revision Changes Path 1.10 +15 -10 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java Index: MemoryRealm.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- MemoryRealm.java 2001/09/07 20:45:12 1.9 +++ MemoryRealm.java 2001/09/10 17:52:45 1.10 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java,v 1.9 2001/09/07 20:45:12 ccain Exp $ - * $Revision: 1.9 $ - * $Date: 2001/09/07 20:45:12 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java,v 1.10 2001/09/10 17:52:45 remm Exp $ + * $Revision: 1.10 $ + * $Date: 2001/09/10 17:52:45 $ * * ==================================================================== * @@ -95,7 +95,7 @@ * synchronization is performed around accesses to the principals collection. * * @author Craig R. McClanahan - * @version $Revision: 1.9 $ $Date: 2001/09/07 20:45:12 $ + * @version $Revision: 1.10 $ $Date: 2001/09/10 17:52:45 $ */ public final class MemoryRealm @@ -206,13 +206,18 @@ (GenericPrincipal) principals.get(username); boolean validated = false; - if (hasMessageDigest()) { - // Hex hashes should be compared care-insensitive - validated = (digest(credentials).equalsIgnoreCase(principal.getPassword())); - } else - validated = (digest(credentials).equals(principal.getPassword())); + if (principal != null) { + if (hasMessageDigest()) { + // Hex hashes should be compared care-insensitive + validated = (digest(credentials) + .equalsIgnoreCase(principal.getPassword())); + } else { + validated = + (digest(credentials).equals(principal.getPassword())); + } + } - if ((principal != null) && validated) { + if (validated) { if (debug >= 2) log(sm.getString("memoryRealm.authenticateSuccess", username)); return (principal);