diff --git a/platform/src/ssl_stream.cpp b/platform/src/ssl_stream.cpp index e30cc5b..be85b85 100644 --- a/platform/src/ssl_stream.cpp +++ b/platform/src/ssl_stream.cpp @@ -2068,13 +2068,21 @@ void ssl_stream_free(struct ssl_stream * s_stream, struct event_base * evbase, s int ssl_manager_add_trust_ca(struct ssl_mgr* mgr, const char* pem_file) { - ATOMIC_INC(&((*(mgr->svc_cache)).stat.trusted_cert_cnt)); - return ssl_trusted_cert_storage_add(mgr->trust_CA_store, SSL_X509_OBJ_CERT, pem_file); + int ret = ssl_trusted_cert_storage_add(mgr->trust_CA_store, SSL_X509_OBJ_CERT, pem_file); + if (ret == 1) + { + ATOMIC_INC(&((*(mgr->svc_cache)).stat.trusted_cert_cnt)); + } + return ret; } int ssl_manager_del_trust_ca(struct ssl_mgr* mgr, const char* pem_file) { - ATOMIC_DEC(&((*(mgr->svc_cache)).stat.trusted_cert_cnt)); - return ssl_trusted_cert_storage_del(mgr->trust_CA_store, SSL_X509_OBJ_CERT, pem_file); + int ret = ssl_trusted_cert_storage_del(mgr->trust_CA_store, SSL_X509_OBJ_CERT, pem_file); + if (ret == 1) + { + ATOMIC_DEC(&((*(mgr->svc_cache)).stat.trusted_cert_cnt)); + } + return ret; } int ssl_manager_add_crl(struct ssl_mgr* mgr, const char* pem_file) {