Bläddra i källkod

Handle XML errors when parsing the manifest

Catch ExpatError and exit gracefully with an error message, rather
than exiting with a python traceback.

Change-Id: Ifd0a7762aab4e8de63dab8a66117170a05586866
David Pursehouse 13 år sedan
förälder
incheckning
f7fc8a95be
1 ändrade filer med 5 tillägg och 1 borttagningar
  1. 5 1
      manifest_xml.py

+ 5 - 1
manifest_xml.py

@@ -310,7 +310,11 @@ class XmlManifest(object):
       self._loaded = True
 
   def _ParseManifestXml(self, path, include_root):
-    root = xml.dom.minidom.parse(path)
+    try:
+      root = xml.dom.minidom.parse(path)
+    except (OSError, xml.parsers.expat.ExpatError), e:
+      raise ManifestParseError("error parsing manifest %s: %s" % (path, e))
+
     if not root or not root.childNodes:
       raise ManifestParseError("no root node in %s" % (path,))