Fix freeaddrinfo(), which did not match allocation in JS. #16085
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.
It is risky to allocate in JS and free in C, when given matching allocate/free
pairs like getaddrinfo/freeaddrinfo, and it looks like we had things wrong
here. That is, the existing musl code did not match how we use that
structure. The worst part is that musl appears to assume the struct is
identical/can alias some other struct, and that led to memory corruption.
Not sure if we can test this reliably as the issue is corruption.
Fixes #16081