| 33 | } |
| 34 | |
| 35 | void 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 | |
| 54 | void logMemoryOOB(const ErrCode &Code, |
| 55 | const Runtime::Instance::DataInstance &DataInst, |
no test coverage detected