summaryrefslogtreecommitdiff
path: root/src/node_crypto.h
diff options
context:
space:
mode:
authorDavid Benjamin <davidben@google.com>2017-09-22 19:05:42 -0400
committerRod Vagg <rod@vagg.org>2017-11-11 20:42:49 +1100
commitf7520ff7fb83f65decbb26306fc5692ecd02583e (patch)
tree39a07acaf6594cb14d44091f42f7c71bcb1aca5a /src/node_crypto.h
parent6bc7480f12b179820f2cb698c5a817a7bff49bc7 (diff)
downloadandroid-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.h11
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 {