[ 
http://jira.codehaus.org/browse/MINDEXER-28?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=269814#action_269814
 ] 

Tamás Cservenák commented on MINDEXER-28:
-----------------------------------------

Added to IndexDataReader.readUtf() to make code more robust to junk inputs:

{noformat}
        byte[] bytearr;
        char[] chararr;

        try
        {
            bytearr = new byte[utflen];
            chararr = new char[utflen];
        }
        catch ( OutOfMemoryError e )
        {
            final IOException ex =
                new IOException(
                    "Index data content is inappropriate (is junk?), leads to 
OutOfMemoryError! See MINDEXER-28 for more information!" );
            e.initCause( e );
            throw ex;
        }
{noformat}

> OOME when fed garbage
> ---------------------
>
>                 Key: MINDEXER-28
>                 URL: http://jira.codehaus.org/browse/MINDEXER-28
>             Project: Maven Indexer
>          Issue Type: Bug
>    Affects Versions: 4.0.0
>         Environment: JDK 6u24 on Ubuntu x86
>            Reporter: Jesse Glick
>            Priority: Minor
>
> See http://netbeans.org/bugzilla/show_bug.cgi?id=197988#c1 for background. 
> Without the fix of MINDEXER-20 in place, the indexer will throw an 
> {{OutOfMemoryError}} when given http://www.jasperforge.org/maven2/.index/ 
> since that site serves junk HTML with a 200 HTTP status.
> Since the code allocates an array whose length is a 32-bit int taken from an 
> unverified source, it would be best to somehow handle the case that a random 
> large number is read and an OOME is thrown - perhaps rethrowing as an 
> {{IOException}}.
> MINDEXER-20 should prevent the bug precondition from being triggered nearly 
> as often, but the input could randomly happen to begin with 0x01.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to