[Dart] Actually use resized FlexBuffers buffer#8929
[Dart] Actually use resized FlexBuffers buffer#8929greenrobot-team wants to merge 1 commit intogoogle:masterfrom
Conversation
|
hey @greenrobot-team - for me to merge I need this branch to be up to date with master, but I don't think you have "allow maintainers to make changes" checked. If you wouldn't mind rebasing or updating this, we can try to get it in! note it may take a few attempts if other PRs get merged before I get back to you but after you rebase. |
Head branch was pushed to by a user without write access
4876827 to
d15e2c5
Compare
d15e2c5 to
2160446
Compare
When building a FlexBuffer using the Builder and adding data that exceeds the default buffer size (2048 bytes), in _newOffset() a larger buffer is created, but never used. This results in a RangeError. Resolve by actually replacing the too small with the new larger buffer. Add a test that verifies this by adding multiple large strings to a vector.
2160446 to
d6c0195
Compare
|
Rebased! (Sorry, multiple times because a team member changed the master branch of our fork.)
It appears I don't see that option because I am using the fork of our company account. If you think it's better, I can re-submit from a fork on my account and enable the option. |
|
I just went ahead and submitted this from a private fork to allow edits from maintainers: #8935 |
When building a FlexBuffer using the Dart Builder API and adding data that exceeds the default buffer size (2048 bytes), in the _newOffset() method a larger buffer is created, but never used. This results in a RangeError.
Resolve by actually replacing the too small with the new larger buffer. Add a test that verifies this by adding multiple large strings to a vector.
This was originally reported to us by a user, so additional details can be found in objectbox/objectbox-dart#786 (note that for the reporter the data written that exceeds the buffer size is an integer and in my test a string, so the stack traces and error messages vary slightly).