Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit e47fd4c

Browse filesBrowse files
danbevMylesBorins
authored andcommitted
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: #18815 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent 4601bfd commit e47fd4c
Copy full SHA for e47fd4c

File tree

Expand file treeCollapse file tree

1 file changed

+10
-6
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

1 file changed

+10
-6
lines changed
Open diff view settings
Collapse file

‎src/node_http2.h‎

Copy file name to clipboardExpand all lines: src/node_http2.h
+10-6Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,20 @@ void inline debug_vfprintf(const char* format, ...) {
3939
#define DEBUG_HTTP2(...) debug_vfprintf(__VA_ARGS__);
4040
#define DEBUG_HTTP2SESSION(session, message) \
4141
do { \
42-
DEBUG_HTTP2("Http2Session %s (%.0lf) " message "\n", \
43-
session->TypeName(), \
44-
session->get_async_id()); \
42+
if (session != nullptr) { \
43+
DEBUG_HTTP2("Http2Session %s (%.0lf) " message "\n", \
44+
session->TypeName(), \
45+
session->get_async_id()); \
46+
} \
4547
} while (0)
4648
#define DEBUG_HTTP2SESSION2(session, message, ...) \
4749
do { \
48-
DEBUG_HTTP2("Http2Session %s (%.0lf) " message "\n", \
49-
session->TypeName(), \
50-
session->get_async_id(), \
50+
if (session != nullptr) { \
51+
DEBUG_HTTP2("Http2Session %s (%.0lf) " message "\n", \
52+
session->TypeName(), \
53+
session->get_async_id(), \
5154
__VA_ARGS__); \
55+
} \
5256
} while (0)
5357
#define DEBUG_HTTP2STREAM(stream, message) \
5458
do { \

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.