[
https://issues.apache.org/jira/browse/ZOOKEEPER-3016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
sumit agrawal updated ZOOKEEPER-3016:
-------------------------------------
Description:
While accepting connection from client, and message is incorrect, this causes
NegativeArraySizeException while creating byte array of negative size.
~2018-03-02 23:51:21 [UTC:20180302T235121+0100]|INFO
||/xx.xx.xx.xx:3888hread|Coordination > Received connection request
/yy.yy.yy.yy:18320 (QuorumCnxManager.java:511)~
~2018-03-02 23:51:21
[UTC:20180302T235121+0100]|ERROR||/xx.xx.xx.xx:3888hread|Coordination > Thread
Thread[/xx.xx.xx.xx:3888,5,main] died (NIOServerCnxnFactory.java:44)~
~java.lang.NegativeArraySizeException~
~at
org.apache.zookeeper.server.quorum.QuorumCnxManager.receiveConnection(QuorumCnxManager.java:242)~
~at
org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener.run(QuorumCnxManager.java:513)~
Below is code reference having the issue.
int num_remaining_bytes = din.readInt();
byte[] b = new byte[num_remaining_bytes];
This makes other node in quorum unable to connect to this node.
Check for invalid input must be present to avoid Observer crashing.
was:
While accepting connection from client, and message is incorrect, this causes
NegativeArraySizeException while creating byte array of negative size.
~2018-03-02 23:51:21 [UTC:20180302T235121+0100]|INFO
||/xx.xx.xx.xx:3888hread|Coordination > Received connection request
/yy.yy.yy.yy:18320 (QuorumCnxManager.java:511)~
~2018-03-02 23:51:21
[UTC:20180302T235121+0100]|ERROR||/xx.xx.xx.xx:3888hread|Coordination > Thread
Thread[/xx.xx.xx.xx:3888,5,main] died (NIOServerCnxnFactory.java:44)~
~java.lang.NegativeArraySizeException~
~at
org.apache.zookeeper.server.quorum.QuorumCnxManager.receiveConnection(QuorumCnxManager.java:242)~
~at
org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener.run(QuorumCnxManager.java:513)~
Below is code reference having the issue.
int num_remaining_bytes = din.readInt();
byte[] b = new byte[num_remaining_bytes];
Check for invalid input must be present to avoid Observer crashing.
Summary: Follower QuorumCnxManager$Listener thread died due to
incorrect client packet (was: Observers QuorumCnxManager thread died due to
incorrect client packet)
> Follower QuorumCnxManager$Listener thread died due to incorrect client packet
> -----------------------------------------------------------------------------
>
> Key: ZOOKEEPER-3016
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3016
> Project: ZooKeeper
> Issue Type: Bug
> Affects Versions: 3.4.6
> Reporter: sumit agrawal
> Priority: Major
>
> While accepting connection from client, and message is incorrect, this causes
> NegativeArraySizeException while creating byte array of negative size.
>
> ~2018-03-02 23:51:21 [UTC:20180302T235121+0100]|INFO
> ||/xx.xx.xx.xx:3888hread|Coordination > Received connection request
> /yy.yy.yy.yy:18320 (QuorumCnxManager.java:511)~
> ~2018-03-02 23:51:21
> [UTC:20180302T235121+0100]|ERROR||/xx.xx.xx.xx:3888hread|Coordination >
> Thread Thread[/xx.xx.xx.xx:3888,5,main] died (NIOServerCnxnFactory.java:44)~
> ~java.lang.NegativeArraySizeException~
> ~at
> org.apache.zookeeper.server.quorum.QuorumCnxManager.receiveConnection(QuorumCnxManager.java:242)~
> ~at
> org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener.run(QuorumCnxManager.java:513)~
>
> Below is code reference having the issue.
> int num_remaining_bytes = din.readInt();
> byte[] b = new byte[num_remaining_bytes];
>
> This makes other node in quorum unable to connect to this node.
>
> Check for invalid input must be present to avoid Observer crashing.
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)