Fix re-spirv null pointer crash on invalid SPIR-V parsing#113708
Fix re-spirv null pointer crash on invalid SPIR-V parsing#113708akien-mga merged 1 commit intogodotengine:masterfrom
Conversation
|
Hi, thanks for the report. Can you try using the version from this commit instead as well as updating the hash on the thirdparty/README.md to |
Okay, thank you for clarifying that. I will test your current implementation now. |
Yes, it works. I can update the pr - add only the file from your commit and update the readme. Or should I keep the current implementation? |
|
You should update that and keep the change to the driver that adds an |
a3371d6 to
6fbd52a
Compare
|
The changes to the third party folder must be reverted and updated with the files from the commit I linked before. |
|
Alternatively if you want, I can just merge this PR into mine since mine hasn't been merged yet and it also updates re-spirv to a newer version. #113582 |
Yes, if it's not too much trouble. |
Oops, mine was merged. That said, I should be perfectly able to update your PR myself, so I'll do that. |
|
I've updated your branch, let me know if it resolves your issue still and I'll approve it. |
abd4468 to
c167cd0
Compare
- Fix behavior regression from decoration change. - Empty shader fix. - Add image query ops. Co-authored-by: DarioSamo <dariosamo@gmail.com>
Oh, thanks! Yes, it solves the problem completely. |
|
Thanks! |
Description
Fixes a crash in re-spirv when parsing invalid or unsupported SPIR-V constructs (e.g.,
mediump/lowpkeywords).This fix does not resolve common issues with precision qualifiers and etc., as their processing is not implemented in re-spirv.
Problem
The
respv::Shaderconstructor was not checking the result ofparse()method. Whenparse()failed due to invalid SPIR-V, the Shader object remained uninitialized, but was then passed toOptimizer::run(), causing a null pointer dereference crash.Related Issues
Closes #113665
Related to #111452 (re-spirv integration)
Similar to #113684 (closed by me)
Bugsquad edit: Fixes: #113675