diff options
Diffstat (limited to 'src/entities.cpp')
| -rw-r--r-- | src/entities.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/entities.cpp b/src/entities.cpp index 1abe632..2ec6c60 100644 --- a/src/entities.cpp +++ b/src/entities.cpp @@ -108,6 +108,9 @@ EntityType *EntityType_FindByTypeCode(const char *typeCode) { EntityType *EntityType_FindByEntityHandle_Inner(EntityHandle handle) { if (handle == EntityHandle_MAX) return nullptr; + if (handle.bucketIndex > EntityType_BC.limits.bucketIndex) return nullptr; + if (handle.itemIndex > EntityType_BC.limits.itemIndex) return nullptr; + if (handle.bucketIndex == EntityType_BC.pkeHandle.bucketIndex && handle.itemIndex >= EntityType_BC.pkeHandle.bucketIndex) return nullptr; for (pk_handle_bucket_index_T b = 0; b <= EntityType_BC.pkeHandle.bucketIndex; ++b) { auto &bkt = EntityType_BC.buckets[b]; long itemCount = EntityType_BC.pkeHandle.bucketIndex == b ? EntityType_BC.pkeHandle.itemIndex : EntityType_BC.limits.itemIndex; |
