Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
dmerrett-platinum7 opened this issue Nov 26, 2024 · 0 comments

Comments

@dmerrett-platinum7
Copy link

dmerrett-platinum7 commented Nov 26, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant