1.修改内存泄漏问题
This commit is contained in:
@@ -435,14 +435,18 @@ x509_get_alt_name(X509 *x509, char *extraname)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GENERAL_NAMES* subjectAltNames = (GENERAL_NAMES*)X509_get_ext_d2i(x509, NID_subject_alt_name, NULL, NULL);
|
GENERAL_NAMES* subjectAltNames = (GENERAL_NAMES*)X509_get_ext_d2i(x509, NID_subject_alt_name, NULL, NULL);
|
||||||
int cnt = sk_GENERAL_NAME_num(subjectAltNames);
|
if (subjectAltNames){
|
||||||
|
int cnt = sk_GENERAL_NAME_num(subjectAltNames);
|
||||||
|
|
||||||
for (i = 0; i < cnt; i++) {
|
for (i = 0; i < cnt; i++) {
|
||||||
GENERAL_NAME* generalName = sk_GENERAL_NAME_value(subjectAltNames, i);
|
GENERAL_NAME* generalName = sk_GENERAL_NAME_value(subjectAltNames, i);
|
||||||
xret = x509_alt_name_cmp(ASN1_STRING_data(GENERAL_NAME_get0_value(generalName, NULL)), extraname);
|
xret = x509_alt_name_cmp(ASN1_STRING_data(GENERAL_NAME_get0_value(generalName, NULL)), extraname);
|
||||||
if (xret == 0)
|
if (xret == 0)
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if (subjectAltNames)
|
||||||
|
GENERAL_NAMES_free(subjectAltNames);
|
||||||
finish:
|
finish:
|
||||||
return xret;
|
return xret;
|
||||||
}
|
}
|
||||||
@@ -547,6 +551,7 @@ x509_modify_by_cert(X509 *cacrt, EVP_PKEY *cakey, X509 *origcrt, char *pkey,
|
|||||||
!X509_set_pubkey(crt, key))
|
!X509_set_pubkey(crt, key))
|
||||||
goto errout;
|
goto errout;
|
||||||
|
|
||||||
|
EVP_PKEY_free(key);
|
||||||
//extensions
|
//extensions
|
||||||
X509V3_CTX ctx;
|
X509V3_CTX ctx;
|
||||||
X509V3_set_ctx(&ctx, cacrt, crt, NULL, NULL, 0);
|
X509V3_set_ctx(&ctx, cacrt, crt, NULL, NULL, 0);
|
||||||
@@ -748,6 +753,7 @@ errout2:
|
|||||||
sk_GENERAL_NAME_pop_free(names, GENERAL_NAME_free);
|
sk_GENERAL_NAME_pop_free(names, GENERAL_NAME_free);
|
||||||
errout:
|
errout:
|
||||||
X509_free(crt);
|
X509_free(crt);
|
||||||
|
EVP_PKEY_free(key);
|
||||||
err:
|
err:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -1034,6 +1040,8 @@ modify:
|
|||||||
x509_get_msg_from_ca(x509, sign);
|
x509_get_msg_from_ca(x509, sign);
|
||||||
x509_get_msg_from_ca(_root, root);
|
x509_get_msg_from_ca(_root, root);
|
||||||
|
|
||||||
|
if (request->origin)
|
||||||
|
X509_free(request->origin);
|
||||||
X509_free(x509);
|
X509_free(x509);
|
||||||
finish:
|
finish:
|
||||||
return _expire;
|
return _expire;
|
||||||
@@ -1239,6 +1247,8 @@ redis_clnt_send(struct request_t *request, redisReply *reply)
|
|||||||
evhttp_socket_send(request->evh_req, reply->str);
|
evhttp_socket_send(request->evh_req, reply->str);
|
||||||
|
|
||||||
finish:
|
finish:
|
||||||
|
if (request->origin)
|
||||||
|
X509_free(request->origin);
|
||||||
kfree(request);
|
kfree(request);
|
||||||
return xret;
|
return xret;
|
||||||
}
|
}
|
||||||
@@ -1265,7 +1275,6 @@ void redis_get_callback(redisAsyncContext *c, void *r, void *privdata)
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1463,6 +1472,7 @@ evhttp_socket_close_cb(struct evhttp_connection *evcon,
|
|||||||
if (NULL == evcon){
|
if (NULL == evcon){
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
|
|
||||||
finish:
|
finish:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1732,7 +1742,7 @@ redis_link_detection(uint32_t __attribute__((__unused__)) uid,
|
|||||||
if(info->cl_ctx->err != 0){
|
if(info->cl_ctx->err != 0){
|
||||||
if (info->sync)
|
if (info->sync)
|
||||||
redisFree(info->sync);
|
redisFree(info->sync);
|
||||||
|
|
||||||
xret = redis_sync_init(&info->sync);
|
xret = redis_sync_init(&info->sync);
|
||||||
if (xret < 0 || !info->sync){
|
if (xret < 0 || !info->sync){
|
||||||
mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "[%d]trying to connect sync redis failed", tid);
|
mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "[%d]trying to connect sync redis failed", tid);
|
||||||
|
|||||||
Reference in New Issue
Block a user