Fix memory leak upon ProcessDeferred failure.
authorsiavashserver <siavashserver@gmail.com>
Thu, 8 Mar 2018 05:43:36 +0000 (09:13 +0330)
committerGitHub <noreply@github.com>
Thu, 8 Mar 2018 05:43:36 +0000 (09:13 +0330)
glslang/MachineIndependent/ShaderLang.cpp

index 7525396..4460752 100644 (file)
@@ -840,8 +840,13 @@ bool ProcessDeferred(
     // Add built-in symbols that are potentially context dependent;
     // they get popped again further down.
     if (! AddContextSpecificSymbols(resources, compiler->infoSink, symbolTable, version, profile, spvVersion,
-                                    stage, source))
+                                    stage, source)) {
+        delete symbolTableMemory;
+        delete [] lengths;
+        delete [] strings;
+        delete [] names;
         return false;
+    }
 
     //
     // Now we can process the full shader under proper symbols and rules.