[analyzer] SATestBuild.py: Be defensive against corrupt plist files.
diff --git a/clang/utils/analyzer/SATestBuild.py b/clang/utils/analyzer/SATestBuild.py
index 347f1e2..42b2658 100755
--- a/clang/utils/analyzer/SATestBuild.py
+++ b/clang/utils/analyzer/SATestBuild.py
@@ -58,6 +58,7 @@
 import sys
 import threading
 import time
+from xml.parsers.expat import ExpatError
 try:
     import queue
 except ImportError:
@@ -485,10 +486,14 @@
     for F in glob.glob(SBOutputDir + "/*/*.plist"):
         P = os.path.join(SBOutputDir, F)
 
-        Data = plistlib.readPlist(P)
-        # Delete empty reports.
-        if not Data['files']:
-            os.remove(P)
+        try:
+            Data = plistlib.readPlist(P)
+            # Delete empty reports.
+            if not Data['files']:
+                os.remove(P)
+                continue
+        except ExpatError as e:
+            print('Error parsing plist file %s: %s' % (P, str(e)))
             continue