From 8f1bc633f49478af60f2df1883ef9c5c820898b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0smail=20D=C3=B6nmez?= Date: Fri, 1 Feb 2008 21:43:23 +0000 Subject: [PATCH] Escape the search string before passing it to re module, fixes : MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [~]> pisi -d sf "/etc/env.d/99libstdc++" /etc/env.d/99libstdc++'i arıyor DEBUG: InstallDB initialized in 0.275934934616. Sistem Hatası: Program Sonlandırıldı. : multiple repeat Genel yardım için lütfen 'pisi help' komutunu kullanınız. Geri-iz: File "/usr/bin/pisi", line 85, in cli.run_command() File "/usr/lib/pardus/pisi/cli/pisicli.py", line 135, in run_command self.command.run() File "/usr/lib/pardus/pisi/cli/searchfile.py", line 69, in run self.search_file(path) File "/usr/lib/pardus/pisi/cli/searchfile.py", line 46, in search_file found = pisi.api.search_file(path) File "/usr/lib/pardus/pisi/api.py", line 261, in search_file return filesdb.search_file(term) File "/usr/lib/pardus/pisi/db/filesdb.py", line 48, in search_file paths = re.compile("(.*?'%s'.*?)" % term, re.I).findall(files_xml) File "/usr/lib/python2.5/re.py", line 180, in compile return _compile(pattern, flags) File "/usr/lib/python2.5/re.py", line 233, in _compile raise error, v # invalid expression --- pisi/db/filesdb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pisi/db/filesdb.py b/pisi/db/filesdb.py index c68e7af8..44cd8783 100644 --- a/pisi/db/filesdb.py +++ b/pisi/db/filesdb.py @@ -45,7 +45,7 @@ class FilesDB(lazydb.LazyDB): found = [] for pkg in installdb.list_installed(): files_xml = open(os.path.join(installdb.package_path(pkg), ctx.const.files_xml)).read() - paths = re.compile('(.*?%s.*?)' % term, re.I).findall(files_xml) + paths = re.compile('(.*?%s.*?)' % re.escape(term), re.I).findall(files_xml) if paths: found.append((pkg, paths)) return found