zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
Date Tue, 13 Jun 2017 17:50:00 GMT

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

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

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

    https://github.com/apache/zookeeper/pull/279#discussion_r121749385
  
    --- 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 --
    
    Good point. I added the check for nulls on `removeDuplicates` because `Set` doesn't accept
null entries. So, if there is a null in `acl` list then the first snippet I suggested would
throw an exception.


> 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)

Mime
View raw message