tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

huge-01.js (624B)


      1 function g(N, p) {
      2    var prefix = p.repeat(N);
      3    var str = prefix + "[AB]";
      4 
      5    try {
      6        var re = new RegExp(str);
      7        re.exec(prefix + "A");
      8    } catch(e) {
      9        // 1. Regexp too big is raised by the lack of the 64k virtual registers
     10        // reserved for the regexp evaluation.
     11        // 2. The stack overflow can occur during the analysis of the regexp
     12        assertEq(e.message.includes("regexp too big") ||
     13 	 e.message.includes("Stack overflow") ||
     14 	 e.message.includes("too much recursion"), true);
     15    }
     16 }
     17 
     18 var prefix = "/(?=k)ok/";
     19 for (var i = 0; i < 18; i++)
     20    g(Math.pow(2, i), prefix)