Freed up some memory when no longer needed in glslangValidator.
authorAndrew Woloszyn <awoloszyn@google.com>
Mon, 18 Jan 2016 14:26:25 +0000 (09:26 -0500)
committerAndrew Woloszyn <awoloszyn@google.com>
Mon, 18 Jan 2016 14:26:25 +0000 (09:26 -0500)
StandAlone/StandAlone.cpp

index 9201084..f47410b 100644 (file)
@@ -435,6 +435,8 @@ void ProcessConfigFile()
     }
     if (configStrings)
         FreeFileData(configStrings);
+    else
+        delete[] config;
 }
 
 // thread-safe list of shaders to asynchronously grab and compile
@@ -805,6 +807,11 @@ int C_DECL main(int argc, char* argv[])
         glslang::InitializeProcess();
         CompileAndLinkShaders();
         glslang::FinalizeProcess();
+        for (int w = 0; w < NumWorkItems; ++w) {
+          if (Work[w]) {
+            delete Work[w];
+          }
+        }
     } else {
         ShInitialize();
 
@@ -837,6 +844,8 @@ int C_DECL main(int argc, char* argv[])
         ShFinalize();
     }
 
+    delete[] Work;
+
     if (CompileFailed)
         return EFailCompile;
     if (LinkFailed)