tor-browser

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

regress-280769-3.js (1032B)


      1 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this
      4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      5 
      6 //-----------------------------------------------------------------------------
      7 var BUGNUMBER = 280769;
      8 var summary = 'Do not crash on overflow of 64K boundary in number of classes in regexp';
      9 var actual = 'No Crash';
     10 var expect = 'No Crash';
     11 
     12 printBugNumber(BUGNUMBER);
     13 printStatus (summary);
     14 
     15 var N = 100 * 1000;
     16 
     17 status = summary + ' ' + inSection(3) + ' (new RegExp("[0][1]...[99999]").exec("") ';
     18 
     19 var a = new Array(N);
     20 
     21 for (var i = 0; i != N; ++i) {
     22  a[i] = i;
     23 }
     24 
     25 var str = '['+a.join('][')+']'; // str is [0][1][2]...[<PRINTED N-1>]
     26 
     27 try
     28 {
     29  var re = new RegExp(str);
     30 }
     31 catch(e)
     32 {
     33  printStatus('Exception creating RegExp: ' + e);
     34 }
     35 
     36 try
     37 {
     38  re.exec('');
     39 }
     40 catch(e)
     41 {
     42  printStatus('Exception executing RegExp: ' + e);
     43 }
     44 
     45 reportCompare(expect, actual, status);