rustls: fix a potential memory issue #19425
Closed
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.
In rustls_client_config_builder_build(), the
config_builderis consumed viatry_box_from_ptr!(builder)and ownership is transferred to Rust. Calling rustls_client_config_builder_free() afterwards would result in double-free.An additional evidence is from the usage in rustls-ffi's test code at https://github.com/rustls/rustls-ffi/blob/main/librustls/tests/client.c#L431, where the builder is not freed and set to NULL after calling rustls_client_config_builder_build().
Other:
backend->configis set ifrustls_client_config_builder_build()is ok.