aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver/url.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-09-10 15:09:36 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-09-10 15:09:36 +0100
commita96f40047139bc33ac018452f8276617927acd42 (patch)
treeec5b100c1b9cb040a13789e201e4287c75c1d366 /src/libserver/url.c
parent0affe52da0ca281a482f8dfeb0868529425f0377 (diff)
downloadrspamd-a96f40047139bc33ac018452f8276617927acd42.tar.gz
rspamd-a96f40047139bc33ac018452f8276617927acd42.zip
Clear url parser to avoid invalid offsets when parsing urls.
Diffstat (limited to 'src/libserver/url.c')
-rw-r--r--src/libserver/url.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libserver/url.c b/src/libserver/url.c
index c934cd174..3a99480cd 100644
--- a/src/libserver/url.c
+++ b/src/libserver/url.c
@@ -453,6 +453,10 @@ rspamd_mailto_parse (struct http_parser_url *u, const gchar *str, gsize len,
parse_query
} st = parse_mailto;
+ if (u != NULL) {
+ memset (u, 0, sizeof (*u));
+ }
+
while (p < last) {
t = *p;
@@ -610,6 +614,10 @@ rspamd_web_parse (struct http_parser_url *u, const gchar *str, gsize len,
parse_part
} st = parse_protocol;
+ if (u != NULL) {
+ memset (u, 0, sizeof (*u));
+ }
+
while (p < last) {
t = *p;