diff options
author | Denys Otrishko <shishugi@gmail.com> | 2019-11-10 14:22:46 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2019-12-06 01:16:59 +0100 |
commit | 53fb7be5eaa2392086aa428e4b8400e9a3a95a81 (patch) | |
tree | 9c736c739c4b324072ac4f9fe707eecb71c4e9f9 /src/node_http2.cc | |
parent | bfd9de63c9521a7d26ab27f87de386434bdf649b (diff) | |
download | android-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>
Diffstat (limited to 'src/node_http2.cc')
-rw-r--r-- | src/node_http2.cc | 12 |
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; |