From: Zac Medico Date: Sat, 28 Jun 2008 23:54:43 +0000 (-0000) Subject: Handle re.error exceptions raised from re.compile() when ACCEPT_CHOSTS X-Git-Tag: v2.2_rc2~285 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=fa66059bfe1cbb74d6a2a62dd69f58220ef9ccb0;p=portage.git Handle re.error exceptions raised from re.compile() when ACCEPT_CHOSTS is invalid. Thanks to solar for reporting. svn path=/main/trunk/; revision=10840 --- 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