diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-11-26 13:56:35 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-11-26 13:56:35 +0000 |
commit | af2b720250ea182fbbdb8e8793e538e9b4231f7f (patch) | |
tree | 004f32cf70d98e24ebb063f33e5c30d104b504d0 | |
parent | 7649d8f199222b8771024bd8ffb56226d8c052c1 (diff) | |
download | rspamd-af2b720250ea182fbbdb8e8793e538e9b4231f7f.tar.gz rspamd-af2b720250ea182fbbdb8e8793e538e9b4231f7f.zip |
More fixes for url parsing
Hello my dear spammer, thank you for all your valueable test cases that you
are kindly providing for me!
-rw-r--r-- | src/libserver/url.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libserver/url.c b/src/libserver/url.c index b1e1793c2..7d9b7a9eb 100644 --- a/src/libserver/url.c +++ b/src/libserver/url.c @@ -856,6 +856,18 @@ rspamd_web_parse (struct http_parser_url *u, const gchar *str, gsize len, c = p + 1; st = parse_query; } + else if (t == '#') { + pt = strtoul (c, NULL, 10); + if (pt == 0 || pt > 65535) { + goto out; + } + if (u != NULL) { + u->port = pt; + } + + c = p + 1; + st = parse_part; + } else if (!g_ascii_isdigit (t)) { if (strict || !g_ascii_isspace (t)) { goto out; |