From fa66059bfe1cbb74d6a2a62dd69f58220ef9ccb0 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 28 Jun 2008 23:54:43 +0000 Subject: Handle re.error exceptions raised from re.compile() when ACCEPT_CHOSTS is invalid. Thanks to solar for reporting. svn path=/main/trunk/; revision=10840 --- pym/portage/__init__.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 7ccf5bdeb..5c90a2ee1 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -2395,10 +2395,21 @@ class config(object): if not accept_chost: self._accept_chost_re = re.compile(".*") elif len(accept_chost) == 1: - self._accept_chost_re = re.compile(r'^%s$' % accept_chost[0]) + try: + self._accept_chost_re = re.compile(r'^%s$' % accept_chost[0]) + except re.error, e: + writemsg("!!! Invalid ACCEPT_CHOSTS value: '%s': %s\n" % \ + (accept_chost[0], e), noiselevel=-1) + self._accept_chost_re = re.compile("^$") else: - self._accept_chost_re = re.compile( - r'^(%s)$' % "|".join(accept_chost)) + try: + self._accept_chost_re = re.compile( + r'^(%s)$' % "|".join(accept_chost)) + except re.error, e: + writemsg("!!! Invalid ACCEPT_CHOSTS value: '%s': %s\n" % \ + (" ".join(accept_chost), e), noiselevel=-1) + self._accept_chost_re = re.compile("^$") + return self._accept_chost_re.match( pkg.metadata.get("CHOST", "")) is not None -- cgit v1.2.3-1-g7c22