-
Notifications
You must be signed in to change notification settings - Fork 71
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
Fix issue #2330 by limiting the vector size that can be reserve'd #2404
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[5.0 -> main] PH: Improve error handling and use one strand
[5.0 -> main] Disable EOS VM OC's subjective compilation limits in unit tests
… `shared_vector<char>`
[5.0 -> main] Prometheus: Ensure valid unique_conn_node_id
[5.0 -> main] Fix chainbase issue when shrinking the database size.
…_private_test-main
…main [5.0 -> main] Add additional tests for mapped_private
[5.0 -> main] Revert "Fix base64 encoding"
[5.0 -> main] Fix base64 encoding - take 2
[5.0 -> main] Add dynamic check for pagemap support
Replace hacky version of `calculate_max_depth` with simpler one.
Perf issue: avoid vector copy at each insertion.
make EOS VM signal handler less greedy: only handle signals from expected memory range
[5.0 -> main] avoid using a stack variable after return
Avoid unused warning
fix `db_modes_test` when nodeos built with ASAN
add ASAN CI "platform"
[5.0 -> main] Update to latest version of BLS12 submodule with clearer conversion parameters
TraceAPI: Remove sync() to improve performance
remove executable bit from a lot of files
use github provided token for git in submodule regression check
Should target |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #2330.
The deserialization of arrays involves reading a size, and then the array elements which are
emplace
'd back into astd::vector
. For normal vectors, since we know the size in advance, it is beneficial to callstd::vector::reserve()
to prevent quadratic reallocations of the vector's buffer as the values are read. Still, limit the size that can be reserved to1024
fc::variant
values, or 16KB sincesizeof(fc::variant) == 16
).