From e590bf26ad00c4fcdaa30ab7fe68e16912b1b5e4 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 20 May 2015 13:22:19 +0200 Subject: [PATCH] urlutils: Check bogus IPs in _is_url_dns. --- qutebrowser/utils/urlutils.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/qutebrowser/utils/urlutils.py b/qutebrowser/utils/urlutils.py index 78112f1c6..98637635a 100644 --- a/qutebrowser/utils/urlutils.py +++ b/qutebrowser/utils/urlutils.py @@ -126,6 +126,14 @@ def _is_url_dns(urlstr): url = qurl_from_user_input(urlstr) if not url.isValid(): return False + + if (utils.raises(ValueError, ipaddress.ip_address, urlstr) and + not QHostAddress(urlstr).isNull()): + log.url.debug("Bogus IP URL -> False") + # Qt treats things like "23.42" or "1337" or "0xDEAD" as valid URLs + # which we don't want to. + return False + host = url.host() log.url.debug("DNS request for {}".format(host)) if not host: