gnrc_ipv6: fix double-free when pinging TNT loopback address #20309
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.
Contribution description
This PR provides a fix for a double-free in
gnrc_ipv6
.This occurs because the
_safe_fill_ipv6_hdr
function already callsgnrc_pktbuf_release
. Therefore, calling it again in_send_to_self
crashes the devicesTesting procedure
Try pinging to a TNT loopback address. Without this PR, it crashes:
Issues/PRs references
I can confirm this issue has been there since 2019.10 at least.