From 1c98904014a258e446b5dc0edd26607a7085c17b Mon Sep 17 00:00:00 2001 From: John Kessenich Date: Sun, 27 Nov 2016 17:32:19 -0700 Subject: [PATCH] Fix crash by returning early from finalCheck() if there is no tree to process. --- glslang/Include/revision.h | 2 +- glslang/MachineIndependent/linkValidate.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h index 21df38d8..66fec1a3 100644 --- a/glslang/Include/revision.h +++ b/glslang/Include/revision.h @@ -2,5 +2,5 @@ // For the version, it uses the latest git tag followed by the number of commits. // For the date, it uses the current date (when then script is run). -#define GLSLANG_REVISION "Overload400-PrecQual.1663" +#define GLSLANG_REVISION "Overload400-PrecQual.1664" #define GLSLANG_DATE "27-Nov-2016" diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp index bc473abc..050fdae0 100644 --- a/glslang/MachineIndependent/linkValidate.cpp +++ b/glslang/MachineIndependent/linkValidate.cpp @@ -377,6 +377,9 @@ void TIntermediate::mergeErrorCheck(TInfoSink& infoSink, const TIntermSymbol& sy // void TIntermediate::finalCheck(TInfoSink& infoSink) { + if (getTreeRoot() == nullptr) + return; + if (numEntryPoints < 1) { if (source == EShSourceGlsl) error(infoSink, "Missing entry point: Each stage requires one entry point");