]> spindle.queued.net Git - midori/commitdiff
Check that valid IP address has no leading 0
authorChristian Dywan <christian@twotoasts.de>
Wed, 29 Aug 2012 18:28:46 +0000 (20:28 +0200)
committerChristian Dywan <christian@twotoasts.de>
Wed, 29 Aug 2012 22:43:21 +0000 (00:43 +0200)
katze/midori-uri.vala
tests/magic-uri.c

index 5a8fab3e24fe7060b93194214a67d878ce673bad..21681cb04f15f4483453e40517e9f0ddaa055db4 100644 (file)
@@ -131,7 +131,7 @@ namespace Midori {
             if (uri.chr (-1, '@') != null)
                 return is_ip_address (uri.split ("@")[1]);
             /* IPv4 */
-            if (uri[0].isdigit () && (uri.chr (4, '.') != null))
+            if (uri[0] != '0' && uri[0].isdigit () && (uri.chr (4, '.') != null))
                 return true;
             /* IPv6 */
             if (uri[0].isalnum () && uri[1].isalnum ()
index 826307fd7e2fd51ec8ee0d78939bb2d2ea4f8f80..d90e2b3f9944fbabe9e29727ca3e9253521b834c 100644 (file)
@@ -258,6 +258,7 @@ magic_uri_ip (void)
 {
     g_assert (midori_uri_is_ip_address ("192.168.1.1"));
     g_assert (midori_uri_is_ip_address ("192.168.1.1:1234"));
+    g_assert (!midori_uri_is_ip_address ("0.168.1.1"));
     g_assert (midori_uri_is_ip_address ("user@192.168.1.1"));
     g_assert (midori_uri_is_ip_address ("user:password@192.168.1.1"));
     g_assert (midori_uri_is_ip_address ("2001:0db8:85a3:0000:0000:8a2e:0370:7334"));