Posted to tcl by stevel at Wed Jul 29 01:41:04 GMT 2026view raw
- Verification on the new build
-
- Your 09:27 install is built from this tree and includes the fix. Traced under
- lldb:
-
- - TlsLibShutdown never called
- - BIO_cleanup never called
- - order is now Tls_Clean (channel closed, BIO freed against a valid vtable)
- then BIO_meth_free from OpenSSL's atexit
-
- Clean exit, including under MallocScribble heap poisoning, which would have
- turned the latent case into a hard crash on the old build.
-
- One thing still open from before: your Linux tree is newer than this one
- (TlsCloseProc at tlsIO.c:106 vs :77 here, and it has a flush-on-close that
- this version lacks). This fix addresses the vtable use-after-free, but I still
- can't rule out the second candidate at that same call site BioCtrl's
- BIO_CTRL_FLUSH doing Tcl_WriteRaw() on a parent channel that's already being
- torn down. Frames #0/#1 of that Linux trace would settle it.
Add a comment