tor-browser

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

regress-230216-3.js (1145B)


      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 = 230216;
      8 var summary = 'check for numerical overflow in regexps in back reference and bounds for {} quantifier';
      9 var actual = '';
     10 var expect = '';
     11 var status = '';
     12 
     13 printBugNumber(BUGNUMBER);
     14 printStatus (summary);
     15 
     16 status = inSection(1) + ' /((\3|b)\2(a)x)+/.exec("aaxabxbaxbbx") ';
     17 
     18 actual = 'undefined'; 
     19 expect = ['ax', 'ax', '', 'a'] + '';
     20 
     21 try
     22 { 
     23  actual = /((\3|b)\2(a)x)+/.exec("aaxabxbaxbbx") + '';
     24 }
     25 catch(e)
     26 {
     27  status += ' Error: ' + e;
     28 }
     29 
     30 reportCompare(expect, actual, status);
     31 
     32 status = inSection(2) + ' eval(\'/((\3|b)\2(a)x)+/.exec("aaxabxbaxbbx")\' ';
     33 
     34 actual = 'undefined'; 
     35 expect = ['ax', 'ax', '', 'a'] + '';
     36 
     37 try
     38 { 
     39  actual = eval('/((\\3|b)\\2(a)x)+/.exec("aaxabxbaxbbx")') + '';
     40 }
     41 catch(e)
     42 {
     43  status += ' Error: ' + e;
     44 }
     45 
     46 reportCompare(expect, actual, status);