diff options
author | David Benjamin <davidben@google.com> | 2017-09-22 18:51:21 -0400 |
---|---|---|
committer | Rod Vagg <rod@vagg.org> | 2017-11-11 20:42:49 +1100 |
commit | 2b28d6cfacfd0ddd7ff97536152f4ad895bf4120 (patch) | |
tree | 36a193592f152deb92f8c11c315442ede4b57f64 /src/node_crypto.h | |
parent | 146e8f8340d2b6b4fc08e235f522a53848d01290 (diff) | |
download | android-node-v8-2b28d6cfacfd0ddd7ff97536152f4ad895bf4120.tar.gz android-node-v8-2b28d6cfacfd0ddd7ff97536152f4ad895bf4120.tar.bz2 android-node-v8-2b28d6cfacfd0ddd7ff97536152f4ad895bf4120.zip |
crypto: make Hash 1.1.0-compatible
OpenSSL 1.1.0 requires EVP_MD_CTX be heap-allocated.
PR-URL: https://github.com/nodejs/node/pull/16130
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
Diffstat (limited to 'src/node_crypto.h')
-rw-r--r-- | src/node_crypto.h | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/node_crypto.h b/src/node_crypto.h index 7ed1066c6c..4ec1bb377f 100644 --- a/src/node_crypto.h +++ b/src/node_crypto.h @@ -524,11 +524,7 @@ class Hmac : public BaseObject { class Hash : public BaseObject { public: - ~Hash() override { - if (!initialised_) - return; - EVP_MD_CTX_cleanup(&mdctx_); - } + ~Hash() override; static void Initialize(Environment* env, v8::Local<v8::Object> target); @@ -542,13 +538,13 @@ class Hash : public BaseObject { Hash(Environment* env, v8::Local<v8::Object> wrap) : BaseObject(env, wrap), - initialised_(false) { + mdctx_(nullptr), + finalized_(false) { MakeWeak<Hash>(this); } private: - EVP_MD_CTX mdctx_; /* coverity[member_decl] */ - bool initialised_; + EVP_MD_CTX* mdctx_; bool finalized_; }; |