summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-07-25 14:59:56 -0700
committerZac Medico <zmedico@gentoo.org>2010-07-25 14:59:56 -0700
commitd013d15fad1df0030bb5e279b265e530dba27ec9 (patch)
treeb418f70f9dc06953342c2ddad5641ca3b443f86b /pym
parent39e813686999f4ea530938b500f5107fd5d78ab6 (diff)
downloadportage-d013d15fad1df0030bb5e279b265e530dba27ec9.tar.gz
portage-d013d15fad1df0030bb5e279b265e530dba27ec9.tar.bz2
portage-d013d15fad1df0030bb5e279b265e530dba27ec9.zip
Make extended_cp_match() use re.escape() for safety, and since the result is
cached here anyway.
Diffstat (limited to 'pym')
-rw-r--r--pym/portage/dep/__init__.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py
index 9720a510e..a8c647cee 100644
--- a/pym/portage/dep/__init__.py
+++ b/pym/portage/dep/__init__.py
@@ -765,8 +765,8 @@ def extended_cp_match(extended_cp, other_cp):
global _extended_cp_re_cache
extended_cp_re = _extended_cp_re_cache.get(extended_cp)
if extended_cp_re is None:
- extended_cp_re = re.compile("^" + extended_cp.replace(
- "+", r"\+").replace(".", r"\.").replace('*', '[^/]*') + "$")
+ extended_cp_re = re.compile("^" + re.escape(extended_cp).replace(
+ r'\*', '[^/]*') + "$")
_extended_cp_re_cache[extended_cp] = extended_cp_re
return extended_cp_re.match(other_cp) is not None