commit bbbfedc: [Minor] Fix core dump when cannot extract tld in href url

Vsevolod Stakhov vsevolod at highsecure.ru
Tue Jan 22 16:49:03 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-01-22 16:46:42 +0000
URL: https://github.com/rspamd/rspamd/commit/bbbfedc8a55a7a4965bc5d5e1d1d5fbaff00294a (HEAD -> master)

[Minor] Fix core dump when cannot extract tld in href url

---
 src/libserver/url.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/libserver/url.c b/src/libserver/url.c
index 3a08ec748..018ab78c3 100644
--- a/src/libserver/url.c
+++ b/src/libserver/url.c
@@ -1794,10 +1794,17 @@ rspamd_url_parse (struct rspamd_url *uri,
 				uri->host, uri->hostlen,
 				rspamd_tld_trie_callback, uri, NULL);
 
-	if (!(parse_flags & RSPAMD_URL_PARSE_HREF) && uri->tldlen == 0) {
-		/* Ignore URL's without TLD if it is not a numeric URL */
-		if (!rspamd_url_is_ip (uri, pool)) {
-			return URI_ERRNO_TLD_MISSING;
+	if (uri->tldlen == 0) {
+		if (!(parse_flags & RSPAMD_URL_PARSE_HREF)) {
+			/* Ignore URL's without TLD if it is not a numeric URL */
+			if (!rspamd_url_is_ip (uri, pool)) {
+				return URI_ERRNO_TLD_MISSING;
+			}
+		}
+		else {
+			/* Assume tld equal to host */
+			uri->tld = uri->host;
+			uri->tldlen = uri->hostlen;
 		}
 	}
 


More information about the Commits mailing list