summaryrefslogtreecommitdiff
path: root/src/stream_base.cc
diff options
context:
space:
mode:
authorFedor Indutny <fedor@indutny.com>2015-09-25 23:36:06 -0400
committerRod Vagg <rod@vagg.org>2015-10-06 07:02:20 +1100
commit05040664c2035b8abffb7bd7bb3243af35895130 (patch)
tree1d4a26b588d40e28b4106e045d35b9eedce391ab /src/stream_base.cc
parent342c3a1bbba78d50b3e8d6df662fceb8b72782c3 (diff)
downloadandroid-node-v8-05040664c2035b8abffb7bd7bb3243af35895130.tar.gz
android-node-v8-05040664c2035b8abffb7bd7bb3243af35895130.tar.bz2
android-node-v8-05040664c2035b8abffb7bd7bb3243af35895130.zip
http: fix out-of-order 'finish' bug in pipelining
Changes to `stream_base.cc` are required to support empty writes. Fixes CVE-2015-7384, https://github.com/nodejs/node/issues/3138 Fix: https://github.com/nodejs/node/issues/2639 PR-URL: https://github.com/nodejs/node/pull/3128
Diffstat (limited to 'src/stream_base.cc')
-rw-r--r--src/stream_base.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/stream_base.cc b/src/stream_base.cc
index 3139274c6f..27ae0fee7b 100644
--- a/src/stream_base.cc
+++ b/src/stream_base.cc
@@ -154,7 +154,7 @@ int StreamBase::Writev(const FunctionCallbackInfo<Value>& args) {
// Write string
offset = ROUND_UP(offset, WriteWrap::kAlignSize);
- CHECK_LT(offset, storage_size);
+ CHECK_LE(offset, storage_size);
char* str_storage = req_wrap->Extra(offset);
size_t str_size = storage_size - offset;