diff options
author | David Benjamin <davidben@google.com> | 2017-09-22 19:05:42 -0400 |
---|---|---|
committer | Rod Vagg <rod@vagg.org> | 2017-11-11 20:42:49 +1100 |
commit | f7520ff7fb83f65decbb26306fc5692ecd02583e (patch) | |
tree | 39a07acaf6594cb14d44091f42f7c71bcb1aca5a /src/node_crypto.h | |
parent | 6bc7480f12b179820f2cb698c5a817a7bff49bc7 (diff) | |
download | android-node-v8-f7520ff7fb83f65decbb26306fc5692ecd02583e.tar.gz android-node-v8-f7520ff7fb83f65decbb26306fc5692ecd02583e.tar.bz2 android-node-v8-f7520ff7fb83f65decbb26306fc5692ecd02583e.zip |
crypto: Make Hmac 1.1.0-compatible
OpenSSL 1.1.0 requries HMAC_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 | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/node_crypto.h b/src/node_crypto.h index e5eb4037eb..c26bde0b8d 100644 --- a/src/node_crypto.h +++ b/src/node_crypto.h @@ -494,11 +494,7 @@ class CipherBase : public BaseObject { class Hmac : public BaseObject { public: - ~Hmac() override { - if (!initialised_) - return; - HMAC_CTX_cleanup(&ctx_); - } + ~Hmac() override; static void Initialize(Environment* env, v8::Local<v8::Object> target); @@ -513,13 +509,12 @@ class Hmac : public BaseObject { Hmac(Environment* env, v8::Local<v8::Object> wrap) : BaseObject(env, wrap), - initialised_(false) { + ctx_(nullptr) { MakeWeak<Hmac>(this); } private: - HMAC_CTX ctx_; /* coverity[member_decl] */ - bool initialised_; + HMAC_CTX* ctx_; }; class Hash : public BaseObject { |