funkman     2003/08/08 09:40:13

  Modified:    catalina/src/share/org/apache/catalina/realm JNDIRealm.java
  Log:
  Fix bug 22236.
  
  addAttributeValues may return null. This could trigger a NPE
  if debugging was turned up >=2
  
  Also addAttributeValues() returns null if attrId or attrs is null while
  ignoring the third parameter "values". So always return
  values. I think this behavior is more consistent with the javadocs too.
  
  Revision  Changes    Path
  1.14      +14 -10    
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/JNDIRealm.java
  
  Index: JNDIRealm.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/JNDIRealm.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- JNDIRealm.java    6 Aug 2003 18:43:00 -0000       1.13
  +++ JNDIRealm.java    8 Aug 2003 16:40:13 -0000       1.14
  @@ -1304,11 +1304,15 @@
               list = addAttributeValues(roleName, attrs, list);
           }
   
  -        // Return the augmented list of roles
  +
           if (debug >= 2) {
  -            log("  Returning " + list.size() + " roles");
  -            for (int i=0; i<list.size(); i++)
  -                log(  "  Found role " + list.get(i));
  +            if (list != null) {
  +                log("  Returning " + list.size() + " roles");
  +                for (int i=0; i<list.size(); i++)
  +                    log(  "  Found role " + list.get(i));
  +            } else {
  +                log("  getRoles about to return null ");
  +            }
           }
   
           return (list);
  @@ -1366,12 +1370,12 @@
           if (debug >= 3)
               log("  retrieving values for attribute " + attrId);
           if (attrId == null || attrs == null)
  -            return null;
  +            return values;
           if (values == null)
               values = new ArrayList();
           Attribute attr = attrs.get(attrId);
           if (attr == null)
  -            return (null);
  +            return (values);
           NamingEnumeration e = attr.getAll();
           while(e.hasMore()) {
               String value = (String)e.next();
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to