summaryrefslogtreecommitdiffstats
path: root/llvm/tools/sancov/coverage-report-server.py
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/sancov/coverage-report-server.py')
-rwxr-xr-xllvm/tools/sancov/coverage-report-server.py6
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)
OpenPOWER on IntegriCloud