unico       2004/09/17 07:49:14

  Modified:    src/webdav/server/org/apache/slide/webdav/method Tag:
                        SLIDE_2_1_RELEASE_BRANCH AclMethod.java
  Log:
  fix NPE when adding ACE with non-existent privilege
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.45.2.1  +14 -7     
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AclMethod.java
  
  Index: AclMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AclMethod.java,v
  retrieving revision 1.45
  retrieving revision 1.45.2.1
  diff -u -r1.45 -r1.45.2.1
  --- AclMethod.java    9 Aug 2004 12:05:29 -0000       1.45
  +++ AclMethod.java    17 Sep 2004 14:49:13 -0000      1.45.2.1
  @@ -166,9 +166,16 @@
           while (privilegeIt.hasNext()) {
               Element privilegeElm = (Element)privilegeIt.next();
               actionUri = createActionUri(privilegeElm);
  -            NodePermission np = new NodePermission(objectUri, subjectUri, 
actionUri, true, negative);
  -            np.setInvert(invert);
  -            result.add(np);
  +            if (actionUri == null) {
  +                throw new PreconditionViolationException(
  +                    new ViolatedPrecondition("not-supported-privilege", 
WebdavStatus.SC_BAD_REQUEST), resourcePath
  +                );
  +            }
  +            else {
  +                NodePermission np = new NodePermission(objectUri, subjectUri, 
actionUri, true, negative);
  +                np.setInvert(invert);
  +                result.add(np);
  +            }
           }
           return result;
       }
  @@ -226,7 +233,7 @@
           else {
               ObjectNode actions = structure.retrieve(slideToken, 
token.getNamespaceConfig().getActionsPath());
               ObjectNode action = findAction(actions.getChildren().iterator(), 
privilegeName, privilegeNamespace);
  -            return action.getUri();
  +            return action != null ? action.getUri() : null;
           }
       }
       
  
  
  

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

Reply via email to