diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-09-10 15:09:36 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-09-10 15:09:36 +0100 |
commit | a96f40047139bc33ac018452f8276617927acd42 (patch) | |
tree | ec5b100c1b9cb040a13789e201e4287c75c1d366 /src/libserver/url.c | |
parent | 0affe52da0ca281a482f8dfeb0868529425f0377 (diff) | |
download | rspamd-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.c | 8 |
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; |