mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-24 18:32:28 -05:00
9054b1bc14
We had an edge case where calls to eval() left the environment untainted *if* `eval` had also been declared as a local variable in the same parsing context. This broke the expected direct eval behavior when the variable `eval` was still pointing at the global `eval` function. This patch fixes the issue by simply always tainting the environment when a call to something named `eval` is encountered. It doesn't seem worth worrying about optimizing the case where someone is calling their own function named `eval`.. Fixes 1 test-js test in bytecode mode. :^) |
||
---|---|---|
.. | ||
Bytecode | ||
Contrib/Test262 | ||
Heap | ||
Runtime | ||
Tests | ||
AST.cpp | ||
AST.h | ||
CMakeLists.txt | ||
Console.cpp | ||
Console.h | ||
CyclicModule.cpp | ||
CyclicModule.h | ||
Forward.h | ||
Interpreter.cpp | ||
Interpreter.h | ||
Lexer.cpp | ||
Lexer.h | ||
MarkupGenerator.cpp | ||
MarkupGenerator.h | ||
Module.cpp | ||
Module.h | ||
Parser.cpp | ||
Parser.h | ||
ParserError.cpp | ||
ParserError.h | ||
Print.cpp | ||
Print.h | ||
SafeFunction.h | ||
Script.cpp | ||
Script.h | ||
SourceCode.cpp | ||
SourceCode.h | ||
SourceRange.h | ||
SourceTextModule.cpp | ||
SourceTextModule.h | ||
SyntaxHighlighter.cpp | ||
SyntaxHighlighter.h | ||
SyntheticModule.cpp | ||
SyntheticModule.h | ||
Token.cpp | ||
Token.h |