Fixed uint32_t calculation overflow bug in ddb_list #10
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.
The calculation of the size of the next increment of
list->list
is being calculated usinguint32_t
sized integers, yet it is possible that the calculation can exceed the maximum value ofuint32_t
. Encountering this case causes the array oflist->list
to shrink suddenly to the calculated size minus the maxuint32_t
value, yetlist->size
still increases to imply that there is more space available then there is. Later, when the next element is attempted to be added, the value oflist->i
goes beyond the allocated space oflist->list
and causes the program to segfault.