diff --git a/src/stream_wrap.cc b/src/stream_wrap.cc index f1d8af1c83..04b08814ce 100644 --- a/src/stream_wrap.cc +++ b/src/stream_wrap.cc @@ -538,9 +538,6 @@ Handle StreamWrap::Writev(const Arguments& args) { uv_buf_t bufs_[16]; uv_buf_t* bufs = bufs_; - if (ARRAY_SIZE(bufs_) < count) - bufs = new uv_buf_t[count]; - // Determine storage size first size_t storage_size = 0; for (size_t i = 0; i < count; i++) { @@ -578,6 +575,9 @@ Handle StreamWrap::Writev(const Arguments& args) { return scope.Close(v8::Null(node_isolate)); } + if (ARRAY_SIZE(bufs_) < count) + bufs = new uv_buf_t[count]; + storage_size += sizeof(WriteWrap); char* storage = new char[storage_size]; WriteWrap* req_wrap = new (storage) WriteWrap();