mirror of
https://github.com/nodejs/node.git
synced 2025-04-29 06:19:07 +00:00
http2: fix check for frame->hd.type
According to the comment, this should be checking whether
`frame->hd.type` is `NGHTTP2_GOAWAY`, i.e. `0x07` and not `0x03`.
PR-URL: https://github.com/nodejs/node/pull/57644
Refs: 1b693fa03a
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
This commit is contained in:
parent
bc09144aa6
commit
ada4abf2d1
@ -1211,7 +1211,7 @@ int Http2Session::OnFrameNotSent(nghttp2_session* handle,
|
|||||||
// closed but the Http2Session will still be up causing a memory leak.
|
// closed but the Http2Session will still be up causing a memory leak.
|
||||||
// Therefore, if the GOAWAY frame couldn't be send due to
|
// Therefore, if the GOAWAY frame couldn't be send due to
|
||||||
// ERR_SESSION_CLOSING we should force close from our side.
|
// ERR_SESSION_CLOSING we should force close from our side.
|
||||||
if (frame->hd.type != 0x03) {
|
if (frame->hd.type != NGHTTP2_GOAWAY) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,9 +29,9 @@ async function requestAndClose(server) {
|
|||||||
// Send a valid HEADERS frame
|
// Send a valid HEADERS frame
|
||||||
const headersFrame = Buffer.concat([
|
const headersFrame = Buffer.concat([
|
||||||
Buffer.from([
|
Buffer.from([
|
||||||
0x00, 0x00, 0x0c, // Length: 12 bytes
|
0x00, 0x00, 0x0e, // Length: 14 bytes
|
||||||
0x01, // Type: HEADERS
|
0x01, // Type: HEADERS
|
||||||
0x05, // Flags: END_HEADERS + END_STREAM
|
0x04, // Flags: END_HEADERS
|
||||||
(streamId >> 24) & 0xFF, // Stream ID: high byte
|
(streamId >> 24) & 0xFF, // Stream ID: high byte
|
||||||
(streamId >> 16) & 0xFF,
|
(streamId >> 16) & 0xFF,
|
||||||
(streamId >> 8) & 0xFF,
|
(streamId >> 8) & 0xFF,
|
||||||
@ -41,7 +41,7 @@ async function requestAndClose(server) {
|
|||||||
0x82, // Indexed Header Field Representation (Predefined ":method: GET")
|
0x82, // Indexed Header Field Representation (Predefined ":method: GET")
|
||||||
0x84, // Indexed Header Field Representation (Predefined ":path: /")
|
0x84, // Indexed Header Field Representation (Predefined ":path: /")
|
||||||
0x86, // Indexed Header Field Representation (Predefined ":scheme: http")
|
0x86, // Indexed Header Field Representation (Predefined ":scheme: http")
|
||||||
0x44, 0x0a, // Custom ":authority: localhost"
|
0x41, 0x09, // ":authority: localhost" Length: 9 bytes
|
||||||
0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74,
|
0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74,
|
||||||
]),
|
]),
|
||||||
]);
|
]);
|
||||||
|
Loading…
Reference in New Issue
Block a user