As far as I know, there is no requirement that $SCRIPT_NAME contain only URL-safe characters, so we need to make sure that any special characters are escaped.
Unified · Split
| @@ -139,7 +139,7 @@ static void site_url(const char *page, const char *search, const char *sort, int · 138 unmodified lines | ||
| 139 | 139 | if (ctx.cfg.virtual_root) |
| 140 | 140 | html_attr(ctx.cfg.virtual_root); |
| 141 | 141 | else |
| 142 | − html(ctx.cfg.script_name); | |
| 142 | + html_url_path(ctx.cfg.script_name); | |
| 143 | 143 | |
| 144 | 144 | if (page) { |
| 145 | 145 | htmlf("?p=%s", page); |
| @@ -219,7 +219,7 @@ static char *repolink(const char *title, const char *class, const char *page, · 73 unmodified lines | ||
| 219 | 219 | html_url_path(path); |
| 220 | 220 | } |
| 221 | 221 | } else { |
| 222 | − html(ctx.cfg.script_name); | |
| 222 | + html_url_path(ctx.cfg.script_name); | |
| 223 | 223 | html("?url="); |
| 224 | 224 | html_url_arg(ctx.repo->url); |
| 225 | 225 | if (ctx.repo->url[strlen(ctx.repo->url) - 1] != '/') |