40 lines
1.2 KiB
Diff
40 lines
1.2 KiB
Diff
From e716ff141b967986d35fc65c59ab0e03015dce48 Mon Sep 17 00:00:00 2001
|
|
From: houmingyong<houmingyong@huawei.com>
|
|
Date: Thu, 13 Jan 2022 10:24:23 +0800
|
|
Subject: [PATCH] destroy rwlock when create enclave failed
|
|
|
|
Conflict:NA
|
|
Reference:https://gitee.com/openeuler/secGear/commit/cb80972c3a60261786d76a2a50ab5ce29b312ebd
|
|
|
|
---
|
|
src/host_src/enclave.c | 6 +++++-
|
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/host_src/enclave.c b/src/host_src/enclave.c
|
|
index 8d6c8a6..e163b58 100644
|
|
--- a/src/host_src/enclave.c
|
|
+++ b/src/host_src/enclave.c
|
|
@@ -68,6 +68,7 @@ static void error_handle(cc_enclave_t *enclave, void *handle, p_tee_registered r
|
|
}
|
|
|
|
if (enclave) {
|
|
+ pthread_rwlock_destroy(&enclave->rwlock);
|
|
explicit_bzero(enclave, sizeof(cc_enclave_t));
|
|
}
|
|
}
|
|
@@ -192,7 +193,10 @@ cc_enclave_result_t cc_enclave_create(const char *path, enclave_type_t type, uin
|
|
|
|
memset(enclave, 0, sizeof(cc_enclave_t));
|
|
if (!check_transform_path(&res, path, &l_path) || !chose_engine_type(&res, type, version, &type_version)) {
|
|
- goto done;
|
|
+ if (l_path) {
|
|
+ free(l_path);
|
|
+ }
|
|
+ return CC_FAIL;
|
|
}
|
|
|
|
/* to do: gp support enter enclave debugging */
|
|
--
|
|
2.27.0
|
|
|