MCPcopy Create free account
hub / github.com/WasmEdge/WasmEdge / logDoubleArrayOOB

Function logDoubleArrayOOB

lib/executor/engine/refInstr.cpp:35–52  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

33}
34
35void logDoubleArrayOOB(const ErrCode &Code, const uint32_t Idx1,
36 const uint32_t Cnt1, const RefVariant &Ref1,
37 const uint32_t Idx2, const uint32_t Cnt2,
38 const RefVariant &Ref2) noexcept {
39 if (Code == ErrCode::Value::ArrayOutOfBounds) {
40 const auto *Inst1 = Ref1.getPtr<Runtime::Instance::ArrayInstance>();
41 const auto *Inst2 = Ref2.getPtr<Runtime::Instance::ArrayInstance>();
42 if (static_cast<uint64_t>(Idx1) + static_cast<uint64_t>(Cnt1) >
43 Inst1->getLength()) {
44 spdlog::error(ErrInfo::InfoBoundary(static_cast<uint64_t>(Idx1), Cnt1,
45 Inst1->getLength()));
46 } else if (static_cast<uint64_t>(Idx2) + static_cast<uint64_t>(Cnt2) >
47 Inst2->getLength()) {
48 spdlog::error(ErrInfo::InfoBoundary(static_cast<uint64_t>(Idx2), Cnt2,
49 Inst2->getLength()));
50 }
51 }
52}
53
54void logMemoryOOB(const ErrCode &Code,
55 const Runtime::Instance::DataInstance &DataInst,

Callers 1

runArrayCopyOpMethod · 0.85

Calls 3

InfoBoundaryClass · 0.85
getLengthMethod · 0.80
errorFunction · 0.50

Tested by

no test coverage detected