Dispatcher breaks code that calls toString() and causes a syntax error
Config and Small code sample
Config:
{
target: "node",
dispatcher: true
}
Code:
function myFunction(){
}
console.log(toString());
Output:
var ZBMWuM = Object.create(null);
var hSR25k = [];
console['log'](new Uf6LgH(function toString() { [native code] }, 'bVTWgeH', 'dq4mH64').P9dYcG);
function Uf6LgH(Uf6LgH, L2edNvN, LyXMkF) {
var quyW4n5 = {
'YjEq1X': function () {
}
};
var pCawCBp;
if (L2edNvN == 'bVTWgeH') {
hSR25k = [];
}
if (L2edNvN == 'McemI0C') {
pCawCBp = ZBMWuM[Uf6LgH] || (ZBMWuM[Uf6LgH] = function (...iUqjNIT) {
hSR25k = iUqjNIT;
return quyW4n5[Uf6LgH].call(this, 'bEANo3');
});
} else {
pCawCBp = quyW4n5[Uf6LgH]('ga3lyI');
}
if (LyXMkF == 'dq4mH64') {
return { P9dYcG: pCawCBp };
} else {
return pCawCBp;
}
}
Notice the function toString() { [native code] } This is most likely due to Dispatcher using a normal object as a dictionary to map old function names to new function names, which causes generic names like toString and hasOwnProperty to get mapped incorrectly.
Describe the bug:
Dispatcher breaks code that calls
toString()
and causes a syntax errorConfig and Small code sample
Config:
Code:
Output:
Notice the
function toString() { [native code] }
This is most likely due to Dispatcher using a normal object as a dictionary to map old function names to new function names, which causes generic names liketoString
andhasOwnProperty
to get mapped incorrectly.