[
https://issues.apache.org/jira/browse/AVRO-2179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16504358#comment-16504358
]
ASF GitHub Bot commented on AVRO-2179:
--------------------------------------
zhy4013 commented on a change in pull request #311: AVRO-2179: Malformed data,
the BinaryDecoder allocates large arrays
URL: https://github.com/apache/avro/pull/311#discussion_r193655247
##########
File path: lang/java/avro/src/main/java/org/apache/avro/io/BinaryDecoder.java
##########
@@ -257,6 +257,9 @@ public double readDouble() throws IOException {
@Override
public Utf8 readString(Utf8 old) throws IOException {
int length = readInt();
+ if (limit > 0 && length > limit) {
Review comment:
I don't think 'length' should exceed the end of the current valid input
buffer when 'limit' is greater than 0. If it's a file, ignore this condition
judgment.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Malformed data, the BinaryDecoder allocates large arrays
> --------------------------------------------------------
>
> Key: AVRO-2179
> URL: https://issues.apache.org/jira/browse/AVRO-2179
> Project: Avro
> Issue Type: Bug
> Components: java
> Affects Versions: 1.8.2
> Reporter: Jonny
> Priority: Critical
> Attachments: image2018-5-10_11-7-40.png, image2018-5-11_21-27-56.png
>
>
> Recentlly I use avro find it has this problem:The memory suddenly explode and
> trigger the fullgc, So I dump the memory file. And then I use jvisualvm tool
> to analysis I found a org.apache.avro.util.Utf8 object and the bytes array
> length was over 1610470037.
> The method of readInt() shouldn't over limit, So I think it should be
> restricted.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)