From 37db8d61845f1bf22d50939268aa8baa2663d06b Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Mon, 14 Jun 2021 12:29:41 +0800 Subject: Fix crash when freeing GradientTexture and NoiseTexture --- core/templates/rid_owner.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'core') diff --git a/core/templates/rid_owner.h b/core/templates/rid_owner.h index c4aa93c394..31278b71bd 100644 --- a/core/templates/rid_owner.h +++ b/core/templates/rid_owner.h @@ -351,6 +351,9 @@ public: for (size_t i = 0; i < max_alloc; i++) { uint64_t validator = validator_chunks[i / elements_in_chunk][i % elements_in_chunk]; + if (validator & 0x80000000) { + continue; //uninitialized + } if (validator != 0xFFFFFFFF) { chunks[i / elements_in_chunk][i % elements_in_chunk].~T(); } -- cgit v1.2.3