TQueue> results in Memory Leak / corruption

From \Engine\Source\Runtime\Core\Public\Containers\Queue.h

~TQueue()
	{
		while (Tail != nullptr)
		{
			TNode* Node = Tail;
			Tail = Tail->NextNode;

			delete Node;
		}
	}

The destructors condition functions purely off the assumption that the tail node is properly initialized, and does not account for any number of scenarios where tail’s next node is not valid but is also not c++ 11 null constant.

If tqueue or any nodes are initialized under sketchy conditions, not properly initialized, or not initialized at all, the destructor can go on a memory corrupting rampage since there is no validation, no type checking, no bounds checking, or any kind of cross check…

Hey -

Do you have the log files or callstack from a crash caused by this memory leak? Are there steps I can follow to reproduce the crash in a new project on my end?

Cheers

Hey -

We’ve not heard from you in a few days and for tracking purposes I will be marking this post as resolved. If you are still having issues with the TQueue causing memory leaks feel free to respond to this post to reopen it for further investigation. Please be sure to include the information requested in my previous comment to help me reproduce the issue locally.

Cheers