From d550148b0c79e1d544d7edd0eef52750d6422e40 Mon Sep 17 00:00:00 2001 From: houmingyong Date: Sat, 8 Jan 2022 17:01:27 +0800 Subject: [PATCH] modify codex Conflict:NA Reference:https://gitee.com/openeuler/secGear/pulls/77 --- src/enclave_src/gp/itrustee/error_conversion.c | 14 +++++++------- src/host_src/gp/gp_enclave.c | 2 +- tools/codegener/Gentrust.ml | 14 ++++++++------ 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/enclave_src/gp/itrustee/error_conversion.c b/src/enclave_src/gp/itrustee/error_conversion.c index 5177322..f30bc81 100644 --- a/src/enclave_src/gp/itrustee/error_conversion.c +++ b/src/enclave_src/gp/itrustee/error_conversion.c @@ -28,13 +28,13 @@ cc_enclave_result_t conversion_res_status(uint32_t enclave_res) CC_ERROR_READ_DATA, CC_ERROR_WRITE_DATA, CC_ERROR_TRUNCATE_OBJECT, CC_ERROR_SEEK_DATA, CC_ERROR_SYNC_DATA, CC_ERROR_RENAME_OBJECT, CC_ERROR_INVALID_ENCLAVE, }; - const int res_table2_begin = 0x80000100U; - const int res_table3_begin = 0x80001001U; - const int res_table4_begin = 0xFFFF7000U; - const int res_table5_begin = 0xFFFF7110U; - const int res_table6_begin = 0xFFFF7118U; - const int res_table7_begin = 0xFFFF9110U; - const int shift = 7; + const uint32_t res_table2_begin = 0x80000100U; + const uint32_t res_table3_begin = 0x80001001U; + const uint32_t res_table4_begin = 0xFFFF7000U; + const uint32_t res_table5_begin = 0xFFFF7110U; + const uint32_t res_table6_begin = 0xFFFF7118U; + const uint32_t res_table7_begin = 0xFFFF9110U; + const uint32_t shift = 7; if (enclave_res < res_table2_begin) { if (enclave_res < sizeof(result_table1) / sizeof(cc_enclave_result_t)) { diff --git a/src/host_src/gp/gp_enclave.c b/src/host_src/gp/gp_enclave.c index c7554de..0bedb71 100644 --- a/src/host_src/gp/gp_enclave.c +++ b/src/host_src/gp/gp_enclave.c @@ -79,7 +79,7 @@ static cc_enclave_result_t ta_path_to_uuid(const char *path, TEEC_UUID *uuid) const int clock_end = 7; const int unit = 8; const int uuid_base = 16; - char uuid_str[UUID_LEN]; + char uuid_str[UUID_LEN + 1] = {0}; uint64_t uuid_split[gp_token_nums]; const char *uuid_pos = NULL; diff --git a/tools/codegener/Gentrust.ml b/tools/codegener/Gentrust.ml index 18af7f2..b62624e 100644 --- a/tools/codegener/Gentrust.ml +++ b/tools/codegener/Gentrust.ml @@ -27,23 +27,23 @@ let set_parameters_point (fd : func_decl) = let pre (_: parameter_type) = "" in let post = "" in let generator_in (_ : parameter_type) (_ : parameter_type) (decl : declarator) (mem_decl : declarator) = - sprintf "uint8_t *%s_%s_p;\n " decl.identifier mem_decl.identifier in + sprintf "uint8_t *%s_%s_p = NULL;\n " decl.identifier mem_decl.identifier in let generator_inout (_ : parameter_type) (_ : parameter_type) (decl : declarator) (mem_decl : declarator) = - (sprintf "uint8_t *%s_%s_in_p;\n " decl.identifier mem_decl.identifier) ^ (sprintf "uint8_t *%s_%s_out_p;\n " decl.identifier mem_decl.identifier) in + (sprintf "uint8_t *%s_%s_in_p = NULL;\n " decl.identifier mem_decl.identifier) ^ (sprintf "uint8_t *%s_%s_out_p = NULL;\n " decl.identifier mem_decl.identifier) in [ - (match fd.rtype with Void -> "" | _ -> "uint8_t *retval_p;"); + (match fd.rtype with Void -> "" | _ -> "uint8_t *retval_p = NULL;"); concat "\n " (List.map (fun (_, decl) -> - sprintf "uint8_t *%s_p;" decl.identifier) + sprintf "uint8_t *%s_p = NULL;" decl.identifier) params); concat "\n " (List.map (deep_copy_func pre generator_in post) deep_copy_in); concat "\n " (List.map (fun (_, decl) -> - sprintf "uint8_t *%s_out_p;\n " decl.identifier ^ - sprintf "uint8_t *%s_in_p;" decl.identifier) + sprintf "uint8_t *%s_out_p = NULL;\n " decl.identifier ^ + sprintf "uint8_t *%s_in_p = NULL;" decl.identifier) params_inout); concat "\n " (List.map (deep_copy_func pre generator_inout post) deep_copy_inout); @@ -156,6 +156,8 @@ let set_ecall_func (tf : trusted_func) = else " /* There is no parameters point */"; ""; + " if (in_buf == NULL || out_buf == NULL)"; + " goto done;"; sprintf " %s_size_t *args_size = (%s_size_t *)in_buf;" tfd.fname tfd.fname; " in_buf_offset += size_to_aligned_size(sizeof(*args_size));"; ""; -- 2.27.0