integer overflow unhandled
--------------------------

                 Key: SANSELAN-17
                 URL: https://issues.apache.org/jira/browse/SANSELAN-17
             Project: Sanselan
          Issue Type: Bug
    Affects Versions: 0.94-incubator
         Environment: win32, 32 bit operating systems
            Reporter: Greg Squires


This function can throw an Exception in ByteSourceArray.java due to a negative 
byte[] allocation size. The length argument has been found to wrap when called 
from IccProfileParser.java.

In 64bit machines, issues related to incorrect metadata, or ICC data can lead 
to incorrect and excess memory allocations. These large numbers however cause 
32bit negative signed values.


        public byte[] getBlock(int start, int length) throws IOException
        {
                if (start + length > bytes.length)
                        throw new IOException("Could not read block (block 
start: " + start
                                        + ", block length: " + length + ", data 
length: "
                                        + bytes.length + ").");

                byte result[] = new byte[length];
                System.arraycopy(bytes, start, result, 0, length);
                return result;
        }



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to