| 177 | |
| 178 | |
| 179 | static omError_t omDoCheckLargeAddr(void* addr, void* bin_size, omTrackFlags_t flags, char level, |
| 180 | omError_t report, OM_FLR_DECL) |
| 181 | { |
| 182 | size_t r_size; |
| 183 | |
| 184 | omAssume(! omIsBinPageAddr(addr)); |
| 185 | omAssume(! omCheckPtr(addr, omError_NoError, OM_FLR)); |
| 186 | |
| 187 | omAddrCheckReturnError((flags & OM_FBIN) || (flags & OM_FBINADDR), omError_NotBinAddr); |
| 188 | omAddrCheckReturnError(level > 1 && omFindRegionOfAddr(addr) != NULL, omError_FreedAddrOrMemoryCorrupted); |
| 189 | r_size = omSizeOfLargeAddr(addr); |
| 190 | omAddrCheckReturnError(! OM_IS_ALIGNED(r_size), omError_FalseAddrOrMemoryCorrupted); |
| 191 | omAddrCheckReturnError(r_size <= OM_MAX_BLOCK_SIZE, omError_FalseAddrOrMemoryCorrupted); |
| 192 | omAddrCheckReturnError((flags & OM_FSIZE) && r_size < OM_ALIGN_SIZE((size_t) bin_size), |
| 193 | omError_WrongSize); |
| 194 | omAddrCheckReturnError((level > 1) && (flags & OM_FUSED) && omIsInKeptAddrList(addr), omError_FreedAddr); |
| 195 | return omError_NoError; |
| 196 | } |
| 197 | |
| 198 | omError_t omDoCheckBinAddr(void* addr, void* bin_size, omTrackFlags_t flags, char level, |
| 199 | omError_t report, OM_FLR_DECL) |
no test coverage detected