Thanks to visit codestin.com
Credit goes to github.com

Skip to content

When doing a single row query for a very large record, the runtime fails in com.sforce.ws.parser.MXParser at line 2937 with a negative integer error #337

@dmerrett-platinum7

Description

@dmerrett-platinum7

Hi, when the buffer needs to be expanded, the code (at line 2936 & 2937) says:

final int newSize = 2 * buf.length;
final char newBuf[] = new char[ newSize ];

However there are no checks on the newSize fitting in the integer space and the system crashes. Could you please cap the newSize to 2^31 -1 (2,147,483,647) as the record size is under that?

This is caused by a very large Event File Event record with a field size of 1,629,674,709. This will be bigger in the SOQL response as it is a BLOB. Is there a way to access this without the system failing?

The stack dump is here:
image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions