summaryrefslogtreecommitdiff
path: root/src/node_http2.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/node_http2.cc')
-rw-r--r--src/node_http2.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/node_http2.cc b/src/node_http2.cc
index d9b886284d..3a7591f31a 100644
--- a/src/node_http2.cc
+++ b/src/node_http2.cc
@@ -1782,11 +1782,13 @@ void Http2Session::OnStreamRead(ssize_t nread, const uv_buf_t& buf_) {
// Shrink to the actual amount of used data.
buf.Resize(nread);
- IncrementCurrentSessionMemory(buf.size());
+ IncrementCurrentSessionMemory(nread);
OnScopeLeave on_scope_leave([&]() {
// Once finished handling this write, reset the stream buffer.
// The memory has either been free()d or was handed over to V8.
- DecrementCurrentSessionMemory(buf.size());
+ // We use `nread` instead of `buf.size()` here, because the buffer is
+ // cleared as part of the `.ToArrayBuffer()` call below.
+ DecrementCurrentSessionMemory(nread);
stream_buf_ab_ = Local<ArrayBuffer>();
stream_buf_ = uv_buf_init(nullptr, 0);
});