diff options
Diffstat (limited to 'src/libserver/html.c')
-rw-r--r-- | src/libserver/html.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libserver/html.c b/src/libserver/html.c index 7da18cdfe..63638d28b 100644 --- a/src/libserver/html.c +++ b/src/libserver/html.c @@ -1441,7 +1441,9 @@ rspamd_html_process_url (rspamd_mempool_t *pool, const gchar *start, guint len, rc = rspamd_url_parse (url, decoded, dlen, pool, RSPAMD_URL_PARSE_HREF); - if (rc == URI_ERRNO_OK) { + /* Filter some completely damaged urls */ + if (rc == URI_ERRNO_OK && url->hostlen > 0 && + !((url->flags & RSPAMD_URL_FLAG_OBSCURED) && (url->protocol & PROTOCOL_UNKNOWN))) { url->flags |= saved_flags; if (has_bad_chars) { |