mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
http2: fix crash on Http2Stream::diagnostic_name()
It can happen that the Http2Stream::session_ has already been deleted when the Http2Stream destructor is called, causing `diagnostic_name()` to crash. Observed when running some http2 tests on Windows with the debug logs activated. PR-URL: https://github.com/nodejs/node/pull/45123 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
This commit is contained in:
parent
9f8f311084
commit
67828d58fb
@ -2060,9 +2060,12 @@ void Http2Stream::MemoryInfo(MemoryTracker* tracker) const {
|
||||
}
|
||||
|
||||
std::string Http2Stream::diagnostic_name() const {
|
||||
const Http2Session* sess = session();
|
||||
const std::string sname =
|
||||
sess ? sess->diagnostic_name() : "session already destroyed";
|
||||
return "HttpStream " + std::to_string(id()) + " (" +
|
||||
std::to_string(static_cast<int64_t>(get_async_id())) + ") [" +
|
||||
session()->diagnostic_name() + "]";
|
||||
std::to_string(static_cast<int64_t>(get_async_id())) + ") [" + sname +
|
||||
"]";
|
||||
}
|
||||
|
||||
// Notify the Http2Stream that a new block of HEADERS is being processed.
|
||||
|
Loading…
Reference in New Issue
Block a user