diff options
Diffstat (limited to 'llvm/tools/sancov/coverage-report-server.py')
-rwxr-xr-x | llvm/tools/sancov/coverage-report-server.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/tools/sancov/coverage-report-server.py b/llvm/tools/sancov/coverage-report-server.py index 251d8f1b77b..5ea978fae64 100755 --- a/llvm/tools/sancov/coverage-report-server.py +++ b/llvm/tools/sancov/coverage-report-server.py @@ -32,6 +32,7 @@ import html import os import string import math +import urllib INDEX_PAGE_TMPL = """ <html> @@ -128,6 +129,7 @@ class ServerHandler(http.server.BaseHTTPRequestHandler): src_path = None def do_GET(self): + norm_path = os.path.normpath(urllib.parse.unquote(self.path[1:])) if self.path == '/': self.send_response(200) self.send_header("Content-type", "text/html; charset=utf-8") @@ -147,8 +149,8 @@ class ServerHandler(http.server.BaseHTTPRequestHandler): response = string.Template(INDEX_PAGE_TMPL).safe_substitute( filenames='\n'.join(filelist)) self.wfile.write(response.encode('UTF-8', 'replace')) - elif self.symcov_data.has_file(self.path[1:]): - filename = self.path[1:] + elif self.symcov_data.has_file(norm_path): + filename = norm_path filepath = os.path.join(self.src_path, filename) if not os.path.exists(filepath): self.send_response(404) |