[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16047784#comment-16047784
 ] 

ASF GitHub Bot commented on ZOOKEEPER-2804:
-------------------------------------------

Github user jainbhupendra24 commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/279#discussion_r121658390
  
    --- Diff: 
src/java/main/org/apache/zookeeper/server/PrepRequestProcessor.java ---
    @@ -915,11 +915,13 @@ protected void pRequest(Request request) throws 
RequestProcessorException {
         private List<ACL> removeDuplicates(List<ACL> acl) {
     
             ArrayList<ACL> retval = new ArrayList<ACL>();
    -        Iterator<ACL> it = acl.iterator();
    -        while (it.hasNext()) {
    -            ACL a = it.next();
    -            if (retval.contains(a) == false) {
    -                retval.add(a);
    +        if(acl != null) {
    --- End diff --
    
    Server side, the validation for null is already present in fixupACL method 
and it throws InvalidACLException.  This check is after the removeDuplicates 
method call.
    
    So do you mean we can handle null in removeDuplicates method itself and if 
so,, we can remove the null validation code in fixupACL method. 


> Node creation fails with NPE if ACLs are null
> ---------------------------------------------
>
>                 Key: ZOOKEEPER-2804
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804
>             Project: ZooKeeper
>          Issue Type: Bug
>            Reporter: Bhupendra Kumar Jain
>
> If null ACLs are passed then zk node creation or set ACL fails with NPE
> {code}
> java.lang.NullPointerException
>       at 
> org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301)
>       at 
> org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341)
>       at 
> org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519)
>       at 
> org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126)
>       at 
> org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178)
> {code}
> Expected to handle null in server and return proper error code to client



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to