diff options
author | 2018-12-22 02:38:09 +0100 | |
---|---|---|
committer | 2020-10-21 17:31:27 +0200 | |
commit | 9804f5a25489f058ac0d4c22826acf4f2ddf136c (patch) | |
tree | e38368283759f157abe4097ff3fe7334f15cf9c7 | |
parent | css: switch monospace fonts (diff) | |
download | cgit-9804f5a25489f058ac0d4c22826acf4f2ddf136c.tar.xz cgit-9804f5a25489f058ac0d4c22826acf4f2ddf136c.zip |
html: double escape literal + in URLs
It's unclear whether this is correct or whether my server is double
decoding.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r-- | html.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -17,7 +17,7 @@ static const char* url_escape_table[256] = { "%10", "%11", "%12", "%13", "%14", "%15", "%16", "%17", "%18", "%19", "%1a", "%1b", "%1c", "%1d", "%1e", "%1f", "%20", NULL, "%22", "%23", NULL, "%25", "%26", "%27", - NULL, NULL, NULL, "%2b", NULL, NULL, NULL, NULL, + NULL, NULL, NULL, "%252b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "%3c", "%3d", "%3e", "%3f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, @@ -200,7 +200,7 @@ void html_url_path(const char *txt) while (t && *t) { unsigned char c = *t; const char *e = url_escape_table[c]; - if (e && c != '+' && c != '&') { + if (e && c != '&') { html_raw(txt, t - txt); html(e); txt = t + 1; |