diff options
Diffstat (limited to 'src/url.c')
-rw-r--r-- | src/url.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -1232,7 +1232,12 @@ url_tld_start (const gchar *begin, const gchar *end, const gchar *pos, url_match /* Try to find the start of the url by finding any non-urlsafe character or whitespace/punctuation */ while (p >= begin) { - if (!is_urlsafe (*p) || g_ascii_isspace (*p)) { + if ((!is_domain (*p) && *p != '.') || g_ascii_isspace (*p)) { + p ++; + if (*p == '.') { + /* Urls cannot start with . */ + return FALSE; + } match->m_begin = p; return TRUE; } @@ -1277,6 +1282,10 @@ url_web_start (const gchar *begin, const gchar *end, const gchar *pos, url_match return FALSE; } } + if (*pos == '.') { + /* Urls cannot start with . */ + return FALSE; + } match->m_begin = pos; return TRUE; |