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
diff --git a/manifest_xml.py b/manifest_xml.py
index cdee87a..bf981f0 100644
--- a/manifest_xml.py
+++ b/manifest_xml.py
@@ -310,7 +310,11 @@
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,))