長さ0のマッチで無限ループ

Firefox 3.6.3でだめ。IE8では問題ありませんでした。

JavaScriptでgオプション付きでexecを実行した場合です。具体的には次のソース。

function test() {
    var regexp = new RegExp(/^/g);
    var line = "ab";
    
    while (match = regexp.exec(line)) {
        alert("match: " + match[0]);
    }
}

次のケースでも無限ループになります。

    var regexp = new RegExp(/^.*$/g);
    var line = "";

バグなんですかね。