summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Otrishko <shishugi@gmail.com>2019-11-10 14:22:46 +0200
committerAnna Henningsen <anna@addaleax.net>2019-12-06 01:16:59 +0100
commit53fb7be5eaa2392086aa428e4b8400e9a3a95a81 (patch)
tree9c736c739c4b324072ac4f9fe707eecb71c4e9f9
parentbfd9de63c9521a7d26ab27f87de386434bdf649b (diff)
downloadandroid-node-v8-53fb7be5eaa2392086aa428e4b8400e9a3a95a81.tar.gz
android-node-v8-53fb7be5eaa2392086aa428e4b8400e9a3a95a81.tar.bz2
android-node-v8-53fb7be5eaa2392086aa428e4b8400e9a3a95a81.zip
http2: small clean up in OnStreamRead
PR-URL: https://github.com/nodejs/node/pull/30351 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
-rw-r--r--src/node_http2.cc12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/node_http2.cc b/src/node_http2.cc
index 9421c36f3b..2bcbcbe078 100644
--- a/src/node_http2.cc
+++ b/src/node_http2.cc
@@ -1867,14 +1867,10 @@ void Http2Session::OnStreamRead(ssize_t nread, const uv_buf_t& buf_) {
// call in OnStreamAfterWrite() immediately provides data. If that does
// happen, we concatenate the data we received with the already-stored
// pending input data, slicing off the already processed part.
- AllocatedBuffer new_buf = env()->AllocateManaged(
- stream_buf_.len - stream_buf_offset_ + nread);
- memcpy(new_buf.data(),
- stream_buf_.base + stream_buf_offset_,
- stream_buf_.len - stream_buf_offset_);
- memcpy(new_buf.data() + stream_buf_.len - stream_buf_offset_,
- buf.data(),
- nread);
+ size_t pending_len = stream_buf_.len - stream_buf_offset_;
+ AllocatedBuffer new_buf = env()->AllocateManaged(pending_len + nread);
+ memcpy(new_buf.data(), stream_buf_.base + stream_buf_offset_, pending_len);
+ memcpy(new_buf.data() + pending_len, buf.data(), nread);
buf = std::move(new_buf);
nread = buf.size();
stream_buf_offset_ = 0;