Due to a missing string in CompressionLevelNameMap in OodleDataCompression.cpp, it is possible for LevelName to be left uninitialised after parsing the compression effort, which causes a crash when that pointer is dereferenced.
TextureEditorToolkit.cpp:1373 looks up the Distribution packaging compression effort level. This value is then used to look up the name of the current distribution compression level on line 1382.
The maximum allowed value for Oodle is 9, which translates to Optimal5, under OodleLZ_CompressionLevel_Max. This is checked by the ECompressionLevelFromValue but not by ECompressionLevelToString.
Even if that check were implemented, LevelName would still be uninitialised as CompressionLevelNameMap and ECompressionLevel both lack an entry for Optimal5.
When 9 is selected as the effort level for distribution, the index isn't found within the CompressionLevelNameMap and LevelName is left uninitialised. The Oodle tab in the Texture Editor is then created starting at line TextureEditorToolkit.cpp:1409, which results in the dereference of the uninitialised LevelName on line 1790.
In a project, in DefaultGame.ini under [/Script/UnrealEd.ProjectPackagingSettings], set the following:
PackageCompressionLevel_Distribution=9
BuildConfiguration=PPBC_Shipping
ForDistribution=True
Attempting to open a texture editor window in this configuration should crash the editor.
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?
How to delete some elements correctly when deleting an array loop?
What does the number (2152,1-34) in glsl error mean?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
How does TArray loop correctly remove elements in blueprints?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-220836 in the post.
0 |
Component | RAD - Oodle |
---|---|
Affects Versions | 5.4.3, 5.3.2, 5.5 |
Target Fix | 5.5 |
Fix Commit | 35410725 |
---|
Created | Aug 2, 2024 |
---|---|
Resolved | Aug 8, 2024 |
Updated | Aug 14, 2024 |