Closed
Description
- Version: v14.15.1
- Platform: Linux 5.8.0-38-generic The binary and long term compatibility with node #43~20.04.1-Ubuntu SMP Tue Jan 12 16:39:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
- Subsystem: crypto.createDiffieHellman
What steps will reproduce the bug?
Setup a node instance,
» node
and run the following javascript code.
crypto.createDiffieHellman('',true);
Then an abort occurs.
How often does it reproduce? Is there a required condition?
This abort can always be triggered following the steps above.
What is the expected behavior?
If any error occurs, an exception or other similar error-reporting stuff should be thrown. There is no reason to abort the whole node process.
What do you see instead?
» node
crypto.createDiffieHellman('',true);
node[79037]: ../src/util-inl.h:490:node::ArrayBufferViewContents<T, kStackStorageSize>::ArrayBufferViewContents(v8::Local<v8::Value>) [with T = char; long unsigned int kStackStorageSize = 64]: Assertion `value->IsArrayBufferView()' failed.
1: 0xa03530 node::Abort() [node]
2: 0xa035ae [node]
3: 0xb396fa node::ArrayBufferViewContents<char, 64ul>::ArrayBufferViewContents(v8::Local<v8::Value>) [node]
4: 0xb30625 node::crypto::DiffieHellman::New(v8::FunctionCallbackInfo<v8::Value> const&) [node]
5: 0xbe4695 [node]
6: 0xbe4c9f [node]
7: 0xbe52c6 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [node]
8: 0x13ff259 [node]
[1] 79037 abort (core dumped) node