Fix possible use-after-free coming from ‘zmq-message-content’. #20
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.
‘zmq-message-content’ returns a bytevector that aliases the memory containing message contents. However, until now, the corresponding record could be GC’d; if user code had kept a reference to the bytevector, said bytevector would now refer to memory that has been freed and potentially reused—a use-after-free bug.
This commit fixes that by ensuring that the record cannot be GC’d before the bytevector itself has been GC’d.
(zmq-message-content): Populate it.