_msgpack_buffer_add_new_chunk zero-out the newly allocated tail #343
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.
Fix: #342
Ref: #341
Reseting the memory in _msgpack_buffer_alloc_new_chunk was pointless because the previous
tail
is immediately copied into it, and it's thetail
that is then used by the caller. So it's thetail
we should have zeroed-out.I think what is happening is in
_msgpack_buffer_expand
:_msgpack_buffer_add_new_chunk
potentially leaveb->tail.mapped_string
as a garbage reference, then_msgpack_buffer_chunk_malloc
may trigger a GC.b->tail.mapped_string
is only reset later.I'm still trying to craft a repro for such error case.