summaryrefslogtreecommitdiff
path: root/platform/src/key_keeper.cpp
diff options
context:
space:
mode:
author崔一鸣 <[email protected]>2018-09-14 21:23:08 +0800
committer崔一鸣 <[email protected]>2018-09-14 21:23:08 +0800
commite28fd983315c6e72b100b88bd2fd6b5fdb575eea (patch)
tree2be17cadc46607382825bccc434b42da54a60b09 /platform/src/key_keeper.cpp
parent254f3fbbd1795ff48f5af595256dc96bb4941e78 (diff)
修复内存泄漏问题
Diffstat (limited to 'platform/src/key_keeper.cpp')
-rw-r--r--platform/src/key_keeper.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/platform/src/key_keeper.cpp b/platform/src/key_keeper.cpp
index b5bb73e..76756a2 100644
--- a/platform/src/key_keeper.cpp
+++ b/platform/src/key_keeper.cpp
@@ -292,6 +292,7 @@ static struct keyring_private* get_keyring_from_response(const char* data)
return NULL;
}
sk_X509_push(chain, chain_cert);
+ ssl_x509_refcount_inc(chain_cert);
}
struct keyring_private* _kyr= keyring_new();
keyring_set_cert(_kyr, cert);
@@ -328,6 +329,8 @@ static struct keyring_private* generate_x509_keyring(X509* origin_cert, int keyr
STACK_OF(X509)* chain = sk_X509_new_null();
sk_X509_push(chain, ca);
sk_X509_push(chain, forge_cert);
+ ssl_x509_refcount_inc(ca);
+ ssl_x509_refcount_inc(forge_cert);
struct keyring_private* _kyr= keyring_new();
keyring_set_key(_kyr, forge_key);
keyring_set_cert(_kyr, forge_cert);