aboutsummaryrefslogtreecommitdiffstats
path: root/src/url.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rambler-co.ru>2011-07-19 17:01:17 +0400
committerVsevolod Stakhov <vsevolod@rambler-co.ru>2011-07-19 17:01:17 +0400
commitfd4de5a9277d8d4a75b2258b4e1f8cf20c8e0e1d (patch)
tree7a8ea53e842e815f6add4b2abf267ffcc0c4d549 /src/url.c
parent6a2422fe75904e8072bdf48502d0245f89e1a0e2 (diff)
downloadrspamd-fd4de5a9277d8d4a75b2258b4e1f8cf20c8e0e1d.tar.gz
rspamd-fd4de5a9277d8d4a75b2258b4e1f8cf20c8e0e1d.zip
Fix coredumps on some specific messages with specific urls.
Fix coredumps while closing log file. Fix parsing of chunked HTTP replies.
Diffstat (limited to 'src/url.c')
-rw-r--r--src/url.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/url.c b/src/url.c
index c8895e107..fd0459ff5 100644
--- a/src/url.c
+++ b/src/url.c
@@ -1252,17 +1252,23 @@ url_try_text (memory_pool_t *pool, const gchar *begin, gsize len, gchar **start,
memcpy (*url_str, m.m_begin, m.m_len);
(*url_str)[m.m_len] = '\0';
}
-
+ if (start != NULL) {
+ *start = (gchar *)m.m_begin;
+ }
+ if (fin != NULL) {
+ *fin = (gchar *)m.m_begin + m.m_len;
+ }
}
else {
*url_str = NULL;
+ if (start != NULL) {
+ *start = (gchar *)pos;
+ }
+ if (fin != NULL) {
+ *fin = (gchar *)pos + strlen (m.prefix);
+ }
}
- if (start != NULL) {
- *start = (gchar *)m.m_begin;
- }
- if (fin != NULL) {
- *fin = (gchar *)m.m_begin + m.m_len;
- }
+
return TRUE;
}
}