diff --git a/interfaces/innerkits/jit_code_sign/include/jit_code_signer_base.h b/interfaces/innerkits/jit_code_sign/include/jit_code_signer_base.h index 868034b51af369d102adcbe8e1452c2d6029d6f8..bba02bc3f2505a9e9c4c1ed678f3659d42f70038 100644 --- a/interfaces/innerkits/jit_code_sign/include/jit_code_signer_base.h +++ b/interfaces/innerkits/jit_code_sign/include/jit_code_signer_base.h @@ -31,12 +31,12 @@ constexpr int32_t LOG_2_INSTRUCTION_SIZE = 2; static inline int GetIndexFromOffset(int offset) { - return offset >> LOG_2_INSTRUCTION_SIZE; + return static_cast(static_cast(offset) >> LOG_2_INSTRUCTION_SIZE); } class JitCodeSignerBase { public: - JitCodeSignerBase() {}; + JitCodeSignerBase() : tmpBuffer_(nullptr), offset_(0) {}; virtual ~JitCodeSignerBase() {} virtual void Reset() = 0; virtual void SignInstruction(Instr insn) = 0; diff --git a/interfaces/innerkits/jit_code_sign/src/jit_code_signer_base.cpp b/interfaces/innerkits/jit_code_sign/src/jit_code_signer_base.cpp index 9856e9bfdf61087223d6dc46ba3ad7feee2e9e03..10002a9d206cb340acd4bd769369e8bbe7c2000c 100644 --- a/interfaces/innerkits/jit_code_sign/src/jit_code_signer_base.cpp +++ b/interfaces/innerkits/jit_code_sign/src/jit_code_signer_base.cpp @@ -49,7 +49,7 @@ int32_t JitCodeSignerBase::SignData(const Byte *const data, uint32_t size) return CS_ERR_INVALID_DATA; } uint32_t cur = 0; - int unsignedSize = willSign_.size(); + size_t unsignedSize = willSign_.size(); if ((unsignedSize == 0) && (size >= INSTRUCTION_SIZE)) { auto insnPtr = reinterpret_cast(data); while (cur + INSTRUCTION_SIZE <= size) { @@ -114,7 +114,7 @@ int32_t JitCodeSignerBase::PatchData(Byte *buffer, const Byte *const data, uint3 bool JitCodeSignerBase::ConvertPatchOffsetToIndex(const int offset, int &curIndex) { - if ((offset < 0) || ((offset & UNALIGNMENT_MASK) != 0)) { + if ((offset < 0) || ((static_cast(offset) & UNALIGNMENT_MASK) != 0)) { return false; } curIndex = GetIndexFromOffset(offset); @@ -138,7 +138,7 @@ int32_t JitCodeSignerBase::CheckDataCopy(Instr *jitMemory, Byte *tmpBuffer, int // update tmp buffer tmpBuffer_ = tmpBuffer; - if (((size & UNALIGNMENT_MASK) != 0) || + if (((static_cast(size) & UNALIGNMENT_MASK) != 0) || (static_cast(size) > signTable_.size() * INSTRUCTION_SIZE)) { #ifdef JIT_FORT_DISABLE LOG_ERROR("Range invalid, size = %{public}d, table size = %{public}zu", diff --git a/interfaces/innerkits/jit_code_sign/src/jit_code_signer_hybrid.cpp b/interfaces/innerkits/jit_code_sign/src/jit_code_signer_hybrid.cpp index ec08c3c714d7e97701f3dbc461b8f84d0a57ed19..1bd33305ec74d8e31f8894b160f038f730d7932d 100644 --- a/interfaces/innerkits/jit_code_sign/src/jit_code_signer_hybrid.cpp +++ b/interfaces/innerkits/jit_code_sign/src/jit_code_signer_hybrid.cpp @@ -87,7 +87,7 @@ int32_t JitCodeSignerHybrid::PatchInstruction(int offset, Instr insn) LOG_ERROR("Offset invalid"); return CS_ERR_PATCH_INVALID; } - int signature = ctx_.SignSingle(insn, curIndex); + uint32_t signature = ctx_.SignSingle(insn, curIndex); signTable_[curIndex] = signature; return CS_SUCCESS; } diff --git a/interfaces/innerkits/jit_code_sign/src/jit_code_signer_single.cpp b/interfaces/innerkits/jit_code_sign/src/jit_code_signer_single.cpp index ba86c1f650dbdaede12f2ce306ab3eee32fbdf39..128548af3b4eb1f56e7eb0d493f2e51c6e6b83af 100644 --- a/interfaces/innerkits/jit_code_sign/src/jit_code_signer_single.cpp +++ b/interfaces/innerkits/jit_code_sign/src/jit_code_signer_single.cpp @@ -63,7 +63,7 @@ int32_t JitCodeSignerSingle::PatchInstruction(int offset, Instr insn) LOG_ERROR("Offset invalid"); return CS_ERR_PATCH_INVALID; } - int signature = ctx_.SignSingle(insn, curIndex); + uint32_t signature = ctx_.SignSingle(insn, curIndex); signTable_[curIndex] = signature; return CS_SUCCESS; }