diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2023-09-07 15:32:46 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2023-09-07 15:32:46 -0400 |
| commit | f31951f007342a14c8778b323fac012772ec1a67 (patch) | |
| tree | 907a3f7534f2c9b96729365b746bdb101f5a1010 /src/memory.cpp | |
| parent | e44281b87fed03b8552a5ebd9f6a9d3a1a2a93a8 (diff) | |
update memory asserts
Diffstat (limited to 'src/memory.cpp')
| -rw-r--r-- | src/memory.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/memory.cpp b/src/memory.cpp index 064cad4..ee99fc8 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -34,6 +34,7 @@ void DestroyBucket(MemBucket *bkt) { } void *Pke_New(std::size_t sz, MemBucket *bkt) { + assert(bkt->head + sz <= bkt->size && "memory bucket specified, but full"); void *ptr = bkt->ptr + bkt->head; bkt->head += sz; bkt->allocs++; @@ -54,7 +55,7 @@ void *Pke_New(std::size_t sz) { } void Pke_Delete(const void *ptr, std::size_t sz, MemBucket *bkt) { - assert(ptr >= bkt->ptr && ptr < bkt->ptr + bkt->size && "pointer not in bucket range"); + assert(ptr >= bkt->ptr && ptr < bkt->ptr + bkt->size && "pointer not in memory bucket range"); bkt->allocs--; bkt->free += sz; if (ptr == bkt->ptr + bkt->head - sz) bkt->head -= sz; @@ -70,10 +71,7 @@ void Pke_Delete(const void *ptr, std::size_t sz) { bkt = &buckets[i]; if (ptr >= bkt->ptr && ptr < bkt->ptr + bkt->size) break; } - if (bkt == nullptr) { - std::printf("bad pointer %llu", reinterpret_cast<unsigned long long>(ptr)); - throw "bad pointer"; - } + assert(bkt != nullptr && "failed to determine correct memory bucket"); Pke_Delete(ptr, sz, bkt); } |
