bug-1841771.js (2024B)
1 var lfLogBuffer = ` 2 let hasFunction ; 3 for (const name of [, "" ]) 4 g55 = newGlobal(); 5 gcparam('maxBytes', gcparam('gcBytes') ); 6 //corefuzz-dcd-endofdata 7 /* 8 //corefuzz-dcd-endofdata 9 /**/ 10 11 12 13 let hasFunction ; 14 for (const name of [ "", "", "", ""]) { 15 16 17 18 19 20 const present = name in this; 21 if (!present) 22 thisname = function() {}; 23 } 24 //corefuzz-dcd-endofdata 25 //corefuzz-dcd-selectmode 1089924061 26 //corefuzz-dcd-endofdata 27 oomTest(function() { 28 let m14 = parseModule('a'.replace(/a/, assertEq.toString)); 29 }); 30 `; 31 lfLogBuffer = lfLogBuffer.split('\n'); 32 let lfPreamble = ` 33 Object.defineProperty(this, "fuzzutils", { 34 value:{ 35 untemplate: function(s) { 36 return s.replace(/\\\\/g, '\\\\\\\\').replace(/\`/g, '\\\\\`').replace(/\\\$/g, '\\\\\$'); 37 } 38 } 39 }); 40 function lfFixRedeclaration(lfSrc, lfExc, lfRewriteSet) { 41 let varName; 42 let srcParts = lfSrc.split("\\n"); 43 let regReplace = new RegExp; 44 for (let lfIdx = 0; lfIdx < srcParts.length; ++lfIdx) 45 srcParts[lfExc.lineNumber - 1] = srcParts[lfExc.lineNumber - 1].replace(regReplace, varName); 46 return srcParts.join(); 47 } 48 `; 49 evaluate(lfPreamble); 50 let lfRunTypeId = -1; 51 let lfCodeBuffer = ""; 52 while (true) { 53 let line = lfLogBuffer.shift(); 54 if (line == null) break; 55 else if (line == "//corefuzz-dcd-endofdata") { 56 loadFile(lfCodeBuffer); 57 lfCodeBuffer = ""; 58 } else lfCodeBuffer += line + "\n"; 59 } 60 loadFile(lfCodeBuffer); 61 function loadFile(lfVarx, lfForceRunType = 0, lfPatchSets = []) { 62 try { 63 if (lfVarx.indexOf("//corefuzz-dcd-selectmode ") === 0) { 64 if (lfGCStress); 65 } else { 66 evaluate(lfVarx); 67 } 68 } catch (lfVare) { 69 if (lfVare.toString.indexOf0 >= 0); 70 else if (lfVare.toString().indexOf("redeclaration of ") >= 0) { 71 let lfNewSrc = lfFixRedeclaration(lfVarx, lfVare, lfPatchSets); 72 loadFile(lfNewSrc, lfRunTypeId, lfPatchSets); 73 } 74 lfVarx = fuzzutils.untemplate(lfVarx); 75 } 76 }