]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Workspace/MetaFileParser.py
BaseTools: Explicitly close files after readlines
[mirror_edk2.git] / BaseTools / Source / Python / Workspace / MetaFileParser.py
index a3e321622100500d5e7f74a4dc0eae4b28f92483..e5fb3f54731786c3402e1f65dc2ac1856f738ac0 100644 (file)
@@ -576,7 +576,8 @@ class InfParser(MetaFileParser):
         NmakeLine = ''\r
         Content = ''\r
         try:\r
-            Content = open(str(self.MetaFile), 'r').readlines()\r
+            with open(str(self.MetaFile), 'r') as File:\r
+                Content = File.readlines()\r
         except:\r
             EdkLogger.error("Parser", FILE_READ_FAILURE, ExtraData=self.MetaFile)\r
 \r
@@ -950,7 +951,8 @@ class DscParser(MetaFileParser):
     def Start(self):\r
         Content = ''\r
         try:\r
-            Content = open(str(self.MetaFile), 'r').readlines()\r
+            with open(str(self.MetaFile), 'r') as File:\r
+                Content = File.readlines()\r
         except:\r
             EdkLogger.error("Parser", FILE_READ_FAILURE, ExtraData=self.MetaFile)\r
 \r
@@ -1493,7 +1495,12 @@ class DscParser(MetaFileParser):
             self._SubsectionType = MODEL_UNKNOWN\r
 \r
     def __RetrievePcdValue(self):\r
-        Content = open(str(self.MetaFile), 'r').readlines()\r
+        try:\r
+            with open(str(self.MetaFile), 'r') as File:\r
+                Content = File.readlines()\r
+        except:\r
+            EdkLogger.error("Parser", FILE_READ_FAILURE, ExtraData=self.MetaFile)\r
+\r
         GlobalData.gPlatformOtherPcds['DSCFILE'] = str(self.MetaFile)\r
         for PcdType in (MODEL_PCD_PATCHABLE_IN_MODULE, MODEL_PCD_DYNAMIC_DEFAULT, MODEL_PCD_DYNAMIC_HII,\r
                         MODEL_PCD_DYNAMIC_VPD, MODEL_PCD_DYNAMIC_EX_DEFAULT, MODEL_PCD_DYNAMIC_EX_HII,\r
@@ -1786,7 +1793,8 @@ class DecParser(MetaFileParser):
     def Start(self):\r
         Content = ''\r
         try:\r
-            Content = open(str(self.MetaFile), 'r').readlines()\r
+            with open(str(self.MetaFile), 'r') as File:\r
+                Content = File.readlines()\r
         except:\r
             EdkLogger.error("Parser", FILE_READ_FAILURE, ExtraData=self.MetaFile)\r
 \r