From 11e7477f67d5af0cd40d435520c31812af56f7c8 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 9 Aug 2008 10:05:23 +0000 Subject: Escape use flags before compiling regular expressions from them. Thanks to pchrist for reporting. svn path=/main/trunk/; revision=11364 --- pym/_emerge/__init__.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'pym/_emerge/__init__.py') diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 4ce2af793..9389b8391 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -1465,8 +1465,12 @@ class Package(Task): except AttributeError: all = object.__getattribute__(self, "all") iuse_implicit = object.__getattribute__(self, "iuse_implicit") - self.regex = re.compile("^(%s)$" % "|".join( - chain((re.escape(x) for x in all), iuse_implicit))) + # Escape anything except ".*" which is supposed + # to pass through from _get_implicit_iuse() + regex = (re.escape(x) for x in chain(all, iuse_implicit)) + regex = "^(%s)$" % "|".join(regex) + regex = regex.replace("\\.\\*", ".*") + self.regex = re.compile(regex) return object.__getattribute__(self, name) def _get_hash_key(self): -- cgit v1.2.3-1-g7c22