maskit commented on PR #13809:
URL: https://github.com/apache/trafficserver/pull/13809#issuecomment-6070808527
Thanks for the rework. One problem: `_raw_extension_types` leaks on OpenSSL.
`SSLNetVConnection` is allocated from `ClassAllocator<SSLNetVConnection,
false>`, so its destructor never runs on free. Every allocation placement-news
a fresh object over the recycled memory. `TLSSNISupport::_clear()` resets
`hints_from_sni` and `_sni_server_name` but not the new vector. `bind()` calls
`clear()`, which keeps the capacity, but the next placement-new overwrites the
vector's pointer. So every inbound TLS handshake on OpenSSL leaks the vector's
buffer, whether or not a plugin reads the list.
Could `_clear()` release it too, the same way it resets `_sni_server_name`?
For example:
```cpp
_raw_extension_types = {};
_has_raw_extension_types = false;
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]