!33 backport patch

From: @zgzxx
Reviewed-by: @chenmaodong
Signed-off-by: @chenmaodong
This commit is contained in:
openeuler-ci-bot 2021-03-20 17:49:50 +08:00 committed by Gitee
commit 6a63d49c69
2 changed files with 57 additions and 1 deletions

View File

@ -0,0 +1,52 @@
From 9d0ff75bf869574b5f96079cf5494fe11d20f160 Mon Sep 17 00:00:00 2001
From: zgzxx <zhangguangzhi3@huawei.com>
Date: Sat, 20 Mar 2021 17:27:36 +0800
Subject: [PATCH] fix wrong spelling and null pointer dereference issue
diff --git a/tools/codegener/intel/CodeGen.ml b/tools/codegener/intel/CodeGen.ml
index dc43942..d9ccf7c 100644
--- a/tools/codegener/intel/CodeGen.ml
+++ b/tools/codegener/intel/CodeGen.ml
@@ -872,7 +872,11 @@ let gen_func_uproxy (tf: Ast.trusted_func) (idx: int) (ec: enclave_content) =
let sgx_ecall_fn = get_sgx_fname SGX_ECALL tf.Ast.tf_is_switchless in
(* Normal case - do ECALL with marshaling structure*)
- let ecall_with_ms = sprintf "result = enclave->list_ops_node->ops_desc->ops->cc_ecall_enclave( \n\
+ let ecall_with_ms = sprintf "if(!enclave || !enclave->list_ops_node || !enclave->list_ops_node->ops_desc ||\n\
+ \t\t!enclave->list_ops_node->ops_desc->ops || \n\
+ \t\t!enclave->list_ops_node->ops_desc->ops->cc_ecall_enclave)\n\
+ \t\treturn CC_ERROR_BAD_PARAMETERS;
+ result = enclave->list_ops_node->ops_desc->ops->cc_ecall_enclave( \n\
\t\tenclave,\n\
\t\t%d,\n\
\t\tNULL,\n\
@@ -885,7 +889,11 @@ let gen_func_uproxy (tf: Ast.trusted_func) (idx: int) (ec: enclave_content) =
(* Rare case - the trusted function doesn't have parameter nor return value.
* In this situation, no marshaling structure is required - passing in NULL.
*)
- let ecall_null = sprintf "result = enclave->list_ops_node->ops_desc->ops->cc_ecall_enclave( \n\
+ let ecall_null = sprintf "if(!enclave || !enclave->list_ops_node || !enclave->list_ops_node->ops_desc ||\n\
+ \t\t!enclave->list_ops_node->ops_desc->ops || \n\
+ \t\t!enclave->list_ops_node->ops_desc->ops->cc_ecall_enclave)\n\
+ \t\treturn CC_ERROR_BAD_PARAMETERS;
+ result = enclave->list_ops_node->ops_desc->ops->cc_ecall_enclave( \n\
\t\tenclave,\n\
\t\t%d,\n\
\t\tNULL,\n\
diff --git a/tools/codegener/intel/Util.ml b/tools/codegener/intel/Util.ml
index a77637e..9dd22bd 100644
--- a/tools/codegener/intel/Util.ml
+++ b/tools/codegener/intel/Util.ml
@@ -187,7 +187,7 @@ let get_file_path (fname: string) =
try
List.find Sys.file_exists fn_list
with
- Not_found -> failwithf "File not found within search paths or search paths is permisson denied: %s\n" fname
+ Not_found -> failwithf "File not found within search paths or search paths is permission denied: %s\n" fname
(* Get the short name of the given file name.
* ------------------------------------------
--
2.27.0

View File

@ -1,6 +1,6 @@
Name: secGear
Version: 0.1.0
Release: 9%{?dist}
Release: 10%{?dist}
Summary: secGear is an SDK to develop confidential computing apps based on hardware enclave features
ExclusiveArch: x86_64
@ -24,6 +24,7 @@ Patch11: 0012-parse-new-error-code-and-del-redundant-print.patch
Patch12: 0013-fix-error-print.patch
Patch13: 0014-set-umask-in-sign_tool.sh.patch
Patch14: 0015-1.fix-the-race-of-ecall-and-enclave-destroy.patch
Patch15: 0016-fix-wrong-spelling-and-null-pointer-dereference-issu.patch
BuildRequires: gcc python3 automake autoconf libtool
BUildRequires: glibc glibc-devel
@ -118,6 +119,9 @@ popd
%endif
%changelog
* Sat Mar 20 2021 zhangguangzhi<zhangguangzhi3@huawei.com> - 0.1.0-10
- DESC: backport patch
* Thu Mar 19 2021 wanghongzhe<wanghongzhe@huawei.com> - 0.1.0-9
- DESC: fix local compile error