fix infinite recursion in ufuzz code generation

This commit is contained in:
alexlamsl 2021-01-24 22:03:52 +08:00
parent a36c5472d2
commit 6db26a29ae

View File

@ -1587,9 +1587,10 @@ function getVarName(noConst) {
function createVarName(maybe, dontStore) { function createVarName(maybe, dontStore) {
if (!maybe || rng(2)) { if (!maybe || rng(2)) {
var suffix = rng(3); var suffix = rng(3);
var name; var name, tries = 10;
do { do {
name = VAR_NAMES[rng(VAR_NAMES.length)]; name = VAR_NAMES[rng(VAR_NAMES.length)];
if (--tries < 0) suffix++;
if (suffix) name += "_" + suffix; if (suffix) name += "_" + suffix;
} while (unique_vars.indexOf(name) >= 0 || block_vars.indexOf(name) >= 0 || async && name == "await"); } while (unique_vars.indexOf(name) >= 0 || block_vars.indexOf(name) >= 0 || async && name == "await");
if (!dontStore) VAR_NAMES.push(name); if (!dontStore) VAR_NAMES.push(name);