1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 03:52:19 +02:00

Fixed append alloc deleting write-past-end check

This commit is contained in:
Brian Fiete 2022-06-03 15:25:49 -07:00
parent e4d350a3d5
commit 38e845d4e0

View file

@ -213,9 +213,11 @@ void* bf::System::Runtime::Dbg_GetCrashInfoFunc()
void Internal::Dbg_MarkObjectDeleted(bf::System::Object* object) void Internal::Dbg_MarkObjectDeleted(bf::System::Object* object)
{ {
BF_ASSERT((BFRTFLAGS & BfRtFlags_ObjectHasDebugFlags) != 0); BF_ASSERT((BFRTFLAGS & BfRtFlags_ObjectHasDebugFlags) != 0);
auto prevFlags = object->mObjectFlags;
if ((BFRTFLAGS & BfRtFlags_ObjectHasDebugFlags) != 0) if ((BFRTFLAGS & BfRtFlags_ObjectHasDebugFlags) != 0)
object->mObjectFlags = (BfObjectFlags)((object->mObjectFlags & ~BfObjectFlag_StackAlloc) | BfObjectFlag_Deleted); object->mObjectFlags = (BfObjectFlags)((object->mObjectFlags & ~BfObjectFlag_StackAlloc) | BfObjectFlag_Deleted);
#ifdef BF_GC_SUPPORTED #ifdef BF_GC_SUPPORTED
if ((prevFlags & BfObjectFlag_Allocated) != 0)
gBFGC.ObjectDeleteRequested(object); gBFGC.ObjectDeleteRequested(object);
#endif #endif
} }