From 7b1b317aca64aae33c7c01c3c201f45dce65f7c8 Mon Sep 17 00:00:00 2001 From: fundavid Date: Thu, 7 Nov 2024 12:17:54 +0800 Subject: [PATCH] move checkpoint Signed-off-by: fundavid --- .../jit_code_sign/include/jit_buffer_integrity.h | 8 +++++++- test/unittest/jit_code_sign_test.cpp | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/interfaces/inner_api/jit_code_sign/include/jit_buffer_integrity.h b/interfaces/inner_api/jit_code_sign/include/jit_buffer_integrity.h index 5b61c48..67ac12e 100644 --- a/interfaces/inner_api/jit_code_sign/include/jit_buffer_integrity.h +++ b/interfaces/inner_api/jit_code_sign/include/jit_buffer_integrity.h @@ -204,7 +204,12 @@ __attribute__((no_sanitize("cfi"))) static inline int32_t ResetJitCode( __attribute__((no_sanitize("cfi"))) static inline int32_t CopyToJitCode( JitCodeSignerBase *signer, void *jitMemory, void *tmpBuffer, int size) { - CHECK_NULL_AND_RETURN_CODE(signer); + if (jitMemory == nullptr) { + return CS_ERR_JIT_MEMORY; + } + if (tmpBuffer == nullptr) { + return CS_ERR_TMP_BUFFER; + } int32_t ret = CS_SUCCESS; // try not to depend on other dynamic library in JITFORT #ifndef JIT_FORT_DISABLE @@ -214,6 +219,7 @@ __attribute__((no_sanitize("cfi"))) static inline int32_t CopyToJitCode( } #endif if (IsSupportJitCodeSigner()) { + CHECK_NULL_AND_RETURN_CODE(signer); ret = signer->ValidateCodeCopy(reinterpret_cast(jitMemory), reinterpret_cast(tmpBuffer), size); } else { diff --git a/test/unittest/jit_code_sign_test.cpp b/test/unittest/jit_code_sign_test.cpp index 6542fb6..c9b3dff 100644 --- a/test/unittest/jit_code_sign_test.cpp +++ b/test/unittest/jit_code_sign_test.cpp @@ -694,7 +694,7 @@ HWTEST_F(JitCodeSignTest, JitCodeSignTest_0018, TestSize.Level0) EXPECT_EQ(PatchInstruction(nullptr, nullptr, 1), CS_ERR_NO_SIGNER); EXPECT_EQ(PatchData(nullptr, 0, nullptr, 0), CS_ERR_NO_SIGNER); EXPECT_EQ(PatchData(nullptr, nullptr, nullptr, 0), CS_ERR_NO_SIGNER); - EXPECT_EQ(CopyToJitCode(nullptr, nullptr, nullptr, 0), CS_ERR_NO_SIGNER); + EXPECT_EQ(CopyToJitCode(nullptr, nullptr, nullptr, 0), CS_ERR_JIT_MEMORY); } /** -- Gitee