TArray64 RangeCheck prints the incorrect error messages for values over 32 bit.
Repro Rate: 4/4
Tested this in //UE4/Release-4.27 @ CL#18319896 and the issue did occur there, it is not a regression.
Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:E:\Binary\UE_5.0\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 691] Array index out of bounds: -2 from an array of size -2
TArray64<int> arr; int64 len = (int64)INT_MAX + (int64)INT_MAX; // Length of the array will be 4,294,967,294 as INT_MAX = 2,147,483,647 arr.AddZeroed(len); UE_LOG(LogTemp, Warning, TEXT("ARR LENGTH: % lld"), arr.Num()); // Print out the length of the array UE_LOG(LogTemp, Warning, TEXT("last+1 value is %lld"), arr[len]); // Purposefully access an index out of bounds.
Results: Intended assertion occurs with the incorrect index and size of the array (Array index out of bounds: -2 from an array of size -2)
Expected: Intended assertion occurs with the correct values of the index and size of the array (Array index out of bounds: 4294967294 from an array of size 4294967294)
How does TextureRenderTarget2D get TArray<uint8> type data?
How do I set a material as a post-processing material?
Why does the REMOVE method of map container remove elements have memory leaks?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
What is the difference between Camera and CineCamera?
How to assign a value to a member of UMG's UMaterialInterface pointer type in C++?
How to implement springarm components to scale according to mouse position in spawn?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-150458 in the post.
0 |
Component | UE - CoreTech |
---|---|
Affects Versions | 4.27, 5.0 |
Target Fix | 5.1 |
Created | Apr 27, 2022 |
---|---|
Resolved | Apr 28, 2022 |
Updated | May 6, 2022 |