src: add nullptr check for session in DEBUG macro
Currenlty when configuring --debug-http2 /test/parallel/test-http2-getpackedsettings.js will segment fault: $ out/Debug/node test/parallel/test-http2-getpackedsettings.js Segmentation fault: 11 This is happening because the settings is created with the Environment in PackSettings: Http2Session::Http2Settings settings(env); This will cause the session to be set to nullptr. When the init function is later called the expanded DEBUG_HTTP2SESSION macro will cause the segment fault when the session is dereferenced. PR-URL: https://github.com/nodejs/node/pull/18815 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
12412ef43f
commit
e91ea21411
@ -39,16 +39,20 @@ void inline debug_vfprintf(const char* format, ...) {
|
||||
#define DEBUG_HTTP2(...) debug_vfprintf(__VA_ARGS__);
|
||||
#define DEBUG_HTTP2SESSION(session, message) \
|
||||
do { \
|
||||
if (session != nullptr) { \
|
||||
DEBUG_HTTP2("Http2Session %s (%.0lf) " message "\n", \
|
||||
session->TypeName(), \
|
||||
session->get_async_id()); \
|
||||
} \
|
||||
} while (0)
|
||||
#define DEBUG_HTTP2SESSION2(session, message, ...) \
|
||||
do { \
|
||||
if (session != nullptr) { \
|
||||
DEBUG_HTTP2("Http2Session %s (%.0lf) " message "\n", \
|
||||
session->TypeName(), \
|
||||
session->get_async_id(), \
|
||||
__VA_ARGS__); \
|
||||
} \
|
||||
} while (0)
|
||||
#define DEBUG_HTTP2STREAM(stream, message) \
|
||||
do { \
|
||||
|
Loading…
x
Reference in New Issue
Block a user