b2b_logic: saftey check on old_entity->peer #2999
Open
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.
Summary
This PR is aiming to avoid a crash when using the b2b_logic module in an edge case.
Details
It was noticed that in a
b2b_bridge_request
call that the function callsb2bl_bridge_msg
which is usingold_entity->peer
without checking whether it is NULL or not, likeold_entity->peer->peer == old_entity
.The following snippets are from a coredump but sensitive information was removed.
It seems that this was actually happening on tuple that was marked for deletion.
Solution
This is just avoid the crash by not deref the
old_entity->peer
but this is after that anyways set to NULL.Compatibility
It shouldn't break anything but maybe it is already undefined behaviour when it got to this point.
Closing issues