diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-07-25 14:59:56 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-07-25 14:59:56 -0700 |
commit | d013d15fad1df0030bb5e279b265e530dba27ec9 (patch) | |
tree | b418f70f9dc06953342c2ddad5641ca3b443f86b | |
parent | 39e813686999f4ea530938b500f5107fd5d78ab6 (diff) | |
download | portage-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.
-rw-r--r-- | pym/portage/dep/__init__.py | 4 |
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 |