diff options
author | Gaetan Lepage <gaetan@glepage.com> | 2024-01-03 11:18:49 +0100 |
---|---|---|
committer | Matthieu Coudron <886074+teto@users.noreply.github.com> | 2024-01-03 23:23:09 +0100 |
commit | 15373e4b9d0e77424e611b81318a2475dfe62c13 (patch) | |
tree | a9bd91004e74765783aea480ef03a1c4b6802e00 /maintainers/scripts | |
parent | a674525c99f9a76cb1f013a3dd713a58109d62fa (diff) |
maintainers/scripts/pluginupdate.py: filter invalid XML characters
Diffstat (limited to 'maintainers/scripts')
-rw-r--r-- | maintainers/scripts/pluginupdate.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/maintainers/scripts/pluginupdate.py b/maintainers/scripts/pluginupdate.py index cc0f4ef742d11..056abda85bfd7 100644 --- a/maintainers/scripts/pluginupdate.py +++ b/maintainers/scripts/pluginupdate.py @@ -17,6 +17,7 @@ import http import json import logging import os +import re import subprocess import sys import time @@ -192,6 +193,11 @@ class RepoGitHub(Repo): with urllib.request.urlopen(commit_req, timeout=10) as req: self._check_for_redirect(commit_url, req) xml = req.read() + + # Filter out illegal XML characters + illegal_xml_regex = re.compile(b"[\x00-\x08\x0B-\x0C\x0E-\x1F\x7F]") + xml = illegal_xml_regex.sub(b"", xml) + root = ET.fromstring(xml) latest_entry = root.find(ATOM_ENTRY) assert latest_entry is not None, f"No commits found in repository {self}" |