Skip to content

"crypto.createDiffieHellman" results in an abort #37808

Description

@zyscoder

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
                                                                                                                                                                                                                                                 

Additional information

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    confirmed-bugIssues and PRs for confirmed bugs.cryptoIssues and PRs related to the crypto subsystem.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions