diff options
author | Fedor Indutny <fedor@indutny.com> | 2015-09-25 23:36:06 -0400 |
---|---|---|
committer | Rod Vagg <rod@vagg.org> | 2015-10-06 07:02:20 +1100 |
commit | 05040664c2035b8abffb7bd7bb3243af35895130 (patch) | |
tree | 1d4a26b588d40e28b4106e045d35b9eedce391ab /src/stream_base.cc | |
parent | 342c3a1bbba78d50b3e8d6df662fceb8b72782c3 (diff) | |
download | android-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.cc | 2 |
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; |