[
https://issues.apache.org/jira/browse/AVRO-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mike Percy updated AVRO-1198:
-----------------------------
Attachment: AVRO-1198-1.patch
Simple patch to throw an IllegalArgumentException if this occurs. I don't know
if this is acceptable since I am not super familiar with this code, so just
starting with something.
Before:
java.lang.ArrayIndexOutOfBoundsException
at org.apache.avro.io.BinaryDecoder.doReadBytes(BinaryDecoder.java:329)
at org.apache.avro.io.BinaryDecoder.readString(BinaryDecoder.java:255)
at org.apache.avro.io.BinaryDecoder.readString(BinaryDecoder.java:264)
at org.apache.avro.io.ValidatingDecoder.readString(ValidatingDecoder.java:113)
...
After:
java.lang.IllegalArgumentException: Attempt to read negative length: -50
at org.apache.avro.io.BinaryDecoder.doReadBytes(BinaryDecoder.java:329)
at org.apache.avro.io.BinaryDecoder.readString(BinaryDecoder.java:255)
at org.apache.avro.io.BinaryDecoder.readString(BinaryDecoder.java:264)
at
org.apache.avro.io.ValidatingDecoder.readString(ValidatingDecoder.java:113)
...
> Malformed Avro data may cause confusing ArrayIndexOutOfBoundsException
> ----------------------------------------------------------------------
>
> Key: AVRO-1198
> URL: https://issues.apache.org/jira/browse/AVRO-1198
> Project: Avro
> Issue Type: Bug
> Components: java
> Affects Versions: 1.7.2
> Reporter: Mike Percy
> Fix For: 1.7.3
>
> Attachments: AVRO-1198-1.patch
>
>
> I am currently debugging an issue where I am getting an
> ArrayIndexOutOfBoundsException from the decoder while reading some Avro data.
> Turns out that the integer indicating number of bytes to read next is
> negative. It would be better if a more helpful error message were provided.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira