James-Jones / HLSLCrossCompiler

Other
468 stars 81 forks source link

HLSLCrossCompiler: Fix NULL pointer dereference on dcl_uav_structured #45

Open DarkStarSword opened 5 years ago

DarkStarSword commented 5 years ago

The following commit introduced a NULL pointer dereference that can crash the HLSL cross compiler if it processes a shader that includes an RWStructuredBuffer that has had its reflection information stripped:

commit 0659b1f3dfe3c2617c0b6d5b96d54017dcf9cae9
Author: James Jones <james.jones.jmj@gmail.com>
Date:   Fri Jan 17 12:21:23 2014 +0000

    Fixes image_load_store and shader_storage_buffer_object features

This restores the if block to make the processing conditional on the reflection information being found. This by itself may not be immediately useful for the standalone HLSLCrossCompiler project that does not expect to process stripped shaders, but it is necessary for projects that use HLSLCrossCompiler as a library to decode shaders, such as in 3DMigoto.