Open
Description
Description
The WriteCryptoFrame
function performs a heap allocation of TlsContext
using new
(line 533), but:
-
The
ClientContext
parameter is passed by value, so any assignment to it inside the function does not propagate back to the caller, so cannot be deleted in the caller. -
The newly allocated
TlsContext
is never deleted, resulting in a memory leak.
msquic/src/tools/recvfuzz/recvfuzz.cpp
Lines 522 to 562 in 6f5b5a1
Impact
- The leakage happens on every call that provides a null TLS context as argument and
PacketParams->Mode == 0