OSDN Git Service

MyCommon.ConvertToReadableUrl() に不正なURLが渡された場合の対策を追加
authorKimura Youichi <kim.upsilon@bucyou.net>
Fri, 6 Dec 2013 11:39:17 +0000 (20:39 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Fri, 6 Dec 2013 11:40:17 +0000 (20:40 +0900)
OpenTween/MyCommon.cs

index c3f2a5d..3941210 100644 (file)
@@ -517,8 +517,11 @@ namespace OpenTween
             {
                 var uriBuilder = new UriBuilder(inputUrl);
 
-                var idnConverter = new IdnMapping();
-                uriBuilder.Host = idnConverter.GetUnicode(uriBuilder.Host);
+                if (uriBuilder.Host != null)
+                {
+                    var idnConverter = new IdnMapping();
+                    uriBuilder.Host = idnConverter.GetUnicode(uriBuilder.Host);
+                }
 
                 return uriBuilder.Uri.ToString();
             }
@@ -537,6 +540,8 @@ namespace OpenTween
 
             // Punycodeをデコードする
             outputUrl = MyCommon.IDNDecode(outputUrl);
+            if (outputUrl == null)
+                return inputUrl;
 
             // URL内で特殊な意味を持つ記号は元の文字に変換されることを避けるために二重エスケープする
             // 参考: Firefoxの losslessDecodeURI() 関数