MCPcopy Create free account
hub / github.com/Singular/Singular / omDoCheckLargeAddr

Function omDoCheckLargeAddr

omalloc/omDebugCheck.c:179–196  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

177
178
179static 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
198omError_t omDoCheckBinAddr(void* addr, void* bin_size, omTrackFlags_t flags, char level,
199 omError_t report, OM_FLR_DECL)

Callers 1

omDoCheckAddrFunction · 0.85

Calls 4

omCheckPtrFunction · 0.85
omFindRegionOfAddrFunction · 0.85
omSizeOfLargeAddrFunction · 0.85
omIsInKeptAddrListFunction · 0.85

Tested by

no test coverage detected