diff options
Diffstat (limited to 'js/src/jit-test/tests/basic/bug558531.js')
-rw-r--r-- | js/src/jit-test/tests/basic/bug558531.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/bug558531.js b/js/src/jit-test/tests/basic/bug558531.js new file mode 100644 index 000000000..ddabce879 --- /dev/null +++ b/js/src/jit-test/tests/basic/bug558531.js @@ -0,0 +1,46 @@ +function f2(c) { + return { + g: c.match(/:/) & c.match(/:/) & c.match(/f/) & c.m & c.a & c.match(/f/) & + c.match(/c/) & c.match(/a/) & (/s/) & c.match(/e/) & c.match(/s/) & + (c.match(/./) & c.i) & (c.match(/\*/)) & (c.match(/n/)), + y: c.a & c.a & c.match(/\)/) & c.match(/\)/) & c.match(/\)/) + & c.match(/\\/), + c: c.match(/f/) + } +} +function f1(c) { + t = f2(c.replace(/s/)) + try { + eval(c) + } catch(e) {} + f4(); + if (c.indexOf("<") == -1 || c.indexOf()) + try {} catch(e) {} + try { + try { + l + } catch(e) {} + if ("unwatch" in this) {} + g + } catch(e) {} + try {} catch(p) {} +} +function f4() { + try {} catch(e) {} { + try { + eval(s + "") + } catch(e) {} + } +} [{}] +s = [{},{}]; +(function(){}()) +s[{},{},{}] = [function(){}] +a = [{},{},{}].concat([{},{}]) +f1("") +f1("") +f1("n") +f1("") +f1("(__proto__=null)") +f1("for(var z=0;z<1;z++){gc()(*::*)}") +f1("gc()") +f1("<") |