You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Hongchao Deng (JIRA)" <ji...@apache.org> on 2015/03/21 00:08:38 UTC
[jira] [Created] (ZOOKEEPER-2146) BinaryInputArchive readString
should check length before allocating memory
Hongchao Deng created ZOOKEEPER-2146:
----------------------------------------
Summary: BinaryInputArchive readString should check length before allocating memory
Key: ZOOKEEPER-2146
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2146
Project: ZooKeeper
Issue Type: Bug
Reporter: Hongchao Deng
Assignee: Hongchao Deng
Attachments: ZOOKEEPER-2146.patch
I recently observed a problem caused by malformed packets. ZK server crashed because of OutOfMemoryError.
The reason is BinaryInputArchive didn't check the length before allocating memory in readString():
{code}
public String readString(String tag) throws IOException {
int len = in.readInt();
if (len == -1) return null;
byte b[] = new byte[len];
...
{code}
I suggest to add the same check as in readBuffer.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)