avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Percy (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AVRO-1198) Malformed Avro data may cause confusing ArrayIndexOutOfBoundsException
Date Thu, 08 Nov 2012 00:56:12 GMT

     [ 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

Mime
View raw message