SafariをクラッシュさせるバグをAppleが修復、少なくともOS Xでは

safari-ios

SafariをクラッシュさせるWebサイト事件の翌日、Appleはすでに対策を講じた、とBuzzFeed Newsが報じている。早速、クラッシュするページ(crashsafari.com)をロードしてみたが、問題は治っているようだ。少なくとも、OS Xでは。

治っているといっても、OS XのSafariでそのWebサイトをロードすると、ページのロードを無限にやっている。そのタブを閉じて、通常のWeb閲覧を続ければよい。

復習すると、CrashSafariは小さなJavaScriptをロードし、それが文字を加えることによってアドレスを長くし、ものすごく長いアドレスを作る。やがて、Safariはそのアドレスを持て余し、あっさりクラッシュする。以下は、そのJavaScriptのループ部分だ:

var total = "";
for( var i = 0; i < 100000; i++ ) {
total = total + i.toString();
history.pushState(0,0, total );
}

iOSでは、問題はもっと深刻だ。SafariでそのWebサイトへ行くと、iOSがクラッシュする。キャッシュをクリアしてそのWebサイトをロードしてみたが、iPhoneは今でもクラッシュする。iOSの次のアップデートを、待たなければならないのかもしれない。

うっかりCrashSafariのリンクをクリックした場合は、iPhoneをリブートすればまたSafariを使える。Safariは、そのWebサイトを再ロードしようとしない。

[原文へ]。
(翻訳:iwatani(a.k.a. hiwa)。