summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-11-26 13:56:35 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-11-26 13:56:35 +0000
commitaf2b720250ea182fbbdb8e8793e538e9b4231f7f (patch)
tree004f32cf70d98e24ebb063f33e5c30d104b504d0
parent7649d8f199222b8771024bd8ffb56226d8c052c1 (diff)
downloadrspamd-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.c12
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;